1
<array>
<array>
    <dict>
        <key>UserName</key>
        <string>BMWM6</string>
        <key>Engine</key>
        <string>4.0</string>
        <key>Image</key>
        <string>bmwM6.png</string>
        <key>Dealers</key>
        <string>USA</string>
        <key>Phone</key>
        <string>10000</string>
        <key>Price</key>
        <string>68</string>
        <key>Category</key>
        <string>BMW</string>
    </dict>
    <dict>
        <key>UserName</key>
        <string>BMWi740</string>
        <key>Engine</key>
        <string>4.0</string>
        <key>Image</key>
        <string>bmwM6.png</string>
        <key>Dealers</key>
        <string>NewYork</string>
        <key>Phone</key>
        <string>13800138000</string>
        <key>Price</key>
        <string>235</string>
        <key>Category</key>
        <string>BMW</string>
    </dict>
    <dict>
        <key>UserName</key>
        <string>BMWX6</string>
        <key>Engine</key>
        <string>3.0</string>
        <key>Image</key>
        <string>bmwM6.png</string>
        <key>Dealers</key>
        <string>NewYork</string>
        <key>Phone</key>
        <string>13800138000</string>
        <key>Price</key>
        <string>231</string>
        <key>Category</key>
        <string>BMW</string>
    </dict>
</array>
<array>
    <dict>
        <key>UserName</key>
        <string>E60</string>
        <key>Engine</key>
        <string>3.5</string>
        <key>Image</key>
        <string>BenzE60.png</string>
        <key>Dealers</key>
        <string>NewYork</string>
        <key>Phone</key>
        <string>13800138000</string>
        <key>Price</key>
        <string>180</string>
        <key>Category</key>
        <string>BENZ</string>
    </dict>
</array>
<array>
    <dict>
        <key>UserName</key>
        <string>R8</string>
        <key>Engine</key>
        <string>4.5</string>
        <key>Image</key>
        <string>audiR8.png</string>
        <key>Dealers</key>
        <string>NewYork</string>
        <key>Phone</key>
        <string>13800138000</string>
        <key>Price</key>
        <string>220</string>
        <key>Category</key>
        <string>AUDI</string>
    </dict>
</array>

私はこのリストを持っています。「BMWM6」の値を取得したら、配列内の同じ辞書内の他の値をどのように知ることができますか? 手伝ってくれませんか?前もって感謝します。そのようなものです: 私は BMWM6 のこの値を知っているので、Engine/Dealers/Phone などの他のキー値を知りたいです。

4

2 に答える 2

1

plistArrayがあなたのplistコンテンツであると仮定します:

NSString *username = @"BMWM6";
NSPredicate *pre = [NSPredicate predicateWithFormat:@"UserName = %@", username];
NSDictionary *resultDict = [[plistArray filteredArrayUsingPredicate:pre] lastObject];

// now you have the dictionary
// dealer:
NSString *dealers = [resultDict objectForKey:@"Dealers"];
NSLog(@"dealers: %@", dealers);
于 2012-07-12T10:07:14.657 に答える
0
NSArray *carArray = [plistArray objectAtIndex:0];
    NSDictionary *resultDict;
    for (NSDictionary *dictionary in carArray) {
        NSString *userName = [dictionary objectForKey:@"UserName"];
        if ([userName isEqualToString:carName]) {
            resultDict = dictionary;
            break;
        }
    }

ハラキリから、これを使って答えを得る。

于 2012-07-13T08:50:51.737 に答える