Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2011年03月18日

xcode4におけるplistの読み込み時の注意



Xcode4で新規に作成したplist(プロパティリスト)は、arrayWithContentsOfFile:pathで読み込めない。

NSString* path = [[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"plist"];
NSArray *data = [NSArray arrayWithContentsOfFile:path];


これは、Xcode4でplistを作成すると、最上位階層が<dict>となるためだ。
最上位階層がNSDictionaryとなるため、[NSArray arrayWithContentsOfFile:path]; では読み込めない。

■xcode3.x以前で作成したplist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>aaaa</key>
<string>123</string>
<key>bbbb</key>
<string>456</string>
</dict>
</array>
</plist>


■Xcode4で作成したplist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>New item</key>
<array>
<dict>
<key>aaaa</key>
<string>123</string>
<key>bbbb</key>
<string>456</string>
</dict>
</array>
</dict>
</plist>


従って、最上位階層の<dict >をテキストエディットなどの編集ソフトで削除する必要がある。


■参考記事 
http://d.hatena.ne.jp/NHideki12/20110314/1300102724
 
 


タグ:iPhone
posted by mobileDeveloper at 13:00 | Comment(0) | TrackBack(1) | plist はてなブックマーク - xcode4におけるplistの読み込み時の注意 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック

【Objective-C】Xcode4で作った .plist を読み込む方法。
Excerpt: Photo by : Flickr: tswicegood's Photost...
Weblog: 和洋風◎
Tracked: 2011-08-20 07:51
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。