カスタム plist があります。
<key>Ford</key>
<dict>
<key>name</key>
<string>Ford</string>
<key>color</key>
<string>green</string>
<key>price</key>
<integer>45000</integer>
</dict
<key>Toyota</key>
<dict>
<key>name</key>
<string>Toyota</string>
<key>color</key>
<string>blue</string>
<key>price</key>
<integer>40000</integer>
</dict
<key>BMW</key>
<dict>
<key>name</key>
<string>BMW</string>
<key>color</key>
<string>blue</string>
<key>price</key>
<integer>40000</integer>
</dict>
私も持っていて、UITableView
このplistからいくつかの車を入れています。
NSEnumerator *enumerator = [dictionary objectEnumerator];
id returnValue;
while ((returnValue = [enumerator nextObject]))
{
if ([[returnValue valueForKey:@"color"]isEqualToString:@"blue")
{
[array addObject:[returnValue valueForKey:@"name"]];
}
今、私のUITableView
車がいっぱいになったら、価格で車を並べ替えたいと思いますNSSortDescriptor:
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"price" ascending:YES];
[array sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
しかし、このコードで私のアプリはクラッシュします:reason: '[<__NSCFString 0x89a1710> valueForUndefinedKey:]: this class is not key value coding-compliant for the key price.'
なぜこれが起こるのですか?