私は Xcode 4.2.1 を使用していくつかの iOS コードに取り組んでおり、plist ファイルを解析してすべてを に配置するとNSDictionary
、すべての<string>
値が になりますが、NSString
すべての<real>
,値は.<integer>
<true/>
NSNumber
すべてのキーと値を抽出する方法はありますが、各値を一致するデータ型に配置しますか?
たとえば、次のようになります。
<string>Hi There</string>
に値を入れるNSString
<real>1.23</real>
に値を入れるfloat
<integer>4</integer>
に値を入れるNSInteger
<true/>
または<false/>
または<boolean>1</boolean>
値を BOOL に入れる
私は多くの投稿を読みましたが、これを行うのに役立つものは何も見つかりません. 値の周りのラッパー要素 (用語が間違っている可能性があります) が何であるかを判断する方法さえわかりません!
NSDictionary
これは機能しませんNSString
。NSNumber
NSArray
/は各値のデータ型を個別に保持しますNSMutableArray
か、それともキーと値とともに格納するために 3 番目の項目 (値のデータ型) を追加する必要がありますか?
たぶん、私はすでに行われたことをやり直そうとしていますか?
編集:私がやろうとしていることの詳細は次のとおりです...
私がやりたいことは、XML ファイルから一連のキー/値を読み取り、それらのキーをゲーム内で変数として使用できるようにすることです (キーは変数名であり、変数はキーに関連付けられた値に設定されます)。変数は次のようなメソッドを介して取得されますmyVar = [getVar @"name_of_key"];
編集:これが現在XMLをNSDictionaryに入れている方法です...
NSDictionary *dictServer = nil;
CFPropertyListRef plist = CFPropertyListCreateFromXMLData(kCFAllocatorDefault, (CFDataRef)someXMLdata, kCFPropertyListImmutable, NULL);
if ([(id)plist isKindOfClass:[NSDictionary class]]) {
dictServer = [(NSDictionary *)plist autorelease];
}