2012-05-08 70 views
-1

我想幾個NSArrays凝聚成一個NSDictionary的一個NSDictionary。 這裏是我的數組:創建一個包含幾個NSArrays

@property (nonatomic, strong) NSArray *EuropeTable; 
@property (nonatomic, strong) NSArray *AsiaTable; 
@property (nonatomic, strong) NSArray *AfricaTable; 
@property (nonatomic, strong) NSArray *LatinAmericaTable; 
@property (nonatomic, strong) NSArray *NorthAmericaTable; 

如何做到這一點任何想法?

* 編輯

我希望每個陣列具有相同的關鍵@「國家」,這樣我就可以用這個單一鍵後

+0

請添加更多細節。你是否希望每個arran都是字典中的單個元素,每個數組都有自己的鍵,值是數組,或者你希望所有數組的所有元素都直接位於字典中。在這種情況下,每個元素都需要自己的密鑰。 –

+0

我已更新該帖子:) –

回答

3
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; 
[dictionary setObject:self.EuropeTable forKey:@"EuropeTable"]; 
[dictionary setObject:self.AsiaTable forKey:@"AsiaTable"]; 
[dictionary setObject:self.AfricaTable forKey:@"AfricaTable"]; 
[dictionary setObject:self.LatinAmericaTable forKey:@"LatinAmericaTable"]; 
[dictionary setObject:self.NorthAmericaTable forKey:@"NorthAmericaTable"]; 

然後來一個CCESS的陣列中的一個,你需要:

NSArray *europeTable = [dictionary objectForKey:@"EuropeTable"]; 


UPDATE:

NSArray *array = [NSArray arrayWithObjects:self.EuropeTable, 
              self.AsiaTable, 
              self.AfricaTable, 
              self.LatinAmericaTable, 
              self.NorthAmericaTable, nil]; 

NSDictionary *dict = [NSDictionary dictionaryWithObject:array forKey:@"country"]; 
+0

除非需要在創建後修改字典,否則NSDictionary是更好的選擇。在這種情況下,deanWombourne的答案更有效率。 –

+2

+1在沒有必要時不會「敲」海報(不像某些)。同意ElJay關於效率的評論 – Damo

+0

那麼關於如何統一所有陣列在一個關鍵之下的任何想法? –

0
NSMutableDictionary dict = [NSMutableDictionary dictionary]; 
[dict addObject:self.EuropeTable forKey:@"EuropeTable"]; 
etc... 
2
NSDictionary *countries = 
    [NSDictionary dictionaryWithObjectsAndKeys: 
    EuropeTable, @"You", 
    AsiaTable, @"Need To", 
    AfricaTable, @"Provide", 
    LatinAmericaTable @"More", 
    NorthAmericaTable, @"Details", 
    nil]; 

如果沒有更多的細節,我我不確定任何答案會幫助你很多:)

+0

擊敗我吧!那就對了。 –