2010-06-08 32 views
0

如果我有其構造這樣一個的plist:將所有plist數組合併成一個數組的有效方法?

Root    Array 
    Item 0   Dictionary 
    City   String  New York 
    People  Array 
     Item 0 String  Steve 
     Item 1 String  Paul 
     Item 2 String  Fabio 
     Item 3 String  David 
     Item 4 String  Penny 
    Item 1   Dictionary 
    City   String  London 
    People  Array 
     Item 0 String  Linda 
     Item 1 String  Rachel 
     Item 2 String  Jessica 
     Item 3 String  Lou 
    Item 2   Dictionary 
    City   String  Barcelona 
    People  Array 
     Item 0 String  Edward 
     Item 1 String  Juan 
     Item 2 String  Maria 

那麼是什麼讓人們的所有名字成一個大的NSArray的最有效的方法是什麼?

回答

4

最短的,但可能非常低效的方式:

return [thePlistArray valueForKeyPath:@"@distinctUnionOfArrays.People"]; 

正常方式:

NSMutableArray* resArr = [NSMutableArray array]; 
for (NSDictionary* record in thePlistArray) { 
    [resArr addObjectsFromArray:[record objectForKey:@"People"]]; 
} 
return resArr; 
相關問題