2011-08-02 20 views
1

このplistの内容を取得するにはどうすればよいですか?plistの内容を取得

私は、さまざまな要素とそのアクセス方法について少し混乱しています。

enter image description here

どのようにこれらの辞書にアクセスし、辞書内の辞書のでしょうか?

このデータを最初にコピーしたい場合は、常にplistから読み込むのではなく、パフォーマンスが大幅に向上しますか?

どのように構造レベルを通過することで、私のアプリにこのデータをすべて取得できますか?

あなたは比較的簡単プレースメントリストを解析しますNSPropertyListSerialization classを、チェックアウトする必要があり、あなたに

答えて

9

最も簡単な方法は、NSDictionaryに便利なメソッドを使用することです

ここでは、サンプルコードのビットだ

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"FileName" 
                ofType:@"plist"]; 
NSDictionary* plist = [NSDictionary dictionaryWithContentsOfFile:filePath]; 

そこからplistファイルは、通常の辞書にすぎません。値に到達するには、objectForKey:などを使用します。深い子ノードへのアクセスを高速化するために、あなたは、例えば、このようvalueForKeyPath:を使用することができます:読み取りと書き込みプロパティへのより多くのファイングレイン・アクセスのためのいくつかのクラスメソッドを持っているあなたはNSPropertyListSerializationを使用する必要があるのplistファイルのより複雑な操作のために

NSString* name = [plist valueForKeyPath:@"mainDictionary.name"]; 

リストファイル。

1
use this : 
    NSDictionary *dic1 = [[NSDictionary alloc] initWithContentofFile:yourFilePathhere]; 

// return main dictionary 
    NSDictionary *dic2 = [dic1 objectForKey:mainDictionary]; 
0

スウィフトコード

let filePath:String = NSBundle.mainBundle().pathForResource("infoList_English", ofType: "plist")! 
let postDictionary : NSDictionary = NSDictionary(contentsOfFile: filePath)! 
print(postDictionary)