2011-08-28 13 views
0

私は "病院"と呼ばれるplistを作成しました。最初の行は3つの項目を文字列として持つ配列として挿入されました。私のコードで間違って何plists - iOSの開発(NSString)

NSArray *hospitals = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]]; 
    NSString *first = [[NSString alloc] initWithFormat:@"%@", [hospitals objectAtIndex:0]]; 
    NSLog(@"%@",first); 

これは結果として私(null)を与えています!

+0

タイトル。 –

答えて

0

ことは、これを試してみてください:

NSString *errorDesc = nil; 
NSPropertyListFormat format; 
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:[[NSBundle mainBundle] pathForResource:@"Hospitals" ofType:@"plist"]]; 
NSMutableDictionary *properties = (NSMutableDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc]; 
NSArray *hospitals = (NSArray *)[properties valueForKey:@"names"]; 
NSString *first = [hospitals objectAtIndex:0]; 
NSLog(@"%@",first); 
+0

これはうまくいかなかった! plzは最高の答えのコメントを読んでください! – user916316

+0

あなたのplistの内容をここに入れてください。 – Nekto

+0

名前 - 配列 - (3項目) 項目0 - 文字列 - 最初 項目1 - 文字列 - 秒 項目2 - 文字列 - 第 – user916316

1

プロパティリストファイル(「コピーリソースは、」ターゲットのビルドフェーズチェック)存在しないか、(別の名前を持っているiOSの」ファイルシステムはケースであることに注意してください(おそらく構文エラーがある)、読み込み不可能であるか、またはプロパティリストのルートが配列ではなく辞書であることを意味します。

hospitals == nilのいずれかが問題の場合。

+0

-iは私の(コピーリソース)のplistを見つけました -iは大文字と小文字を区別して扱いました - plistのルートは配列です! 何が間違っているのか分からない! &病院== nilはTRUEです。S – user916316

+0

@ user916316プロジェクトをクリーンアップして再度ビルドしてみます。 –

+0

清掃も助けになりませんでした! – user916316