2012-09-27 79 views
1

我想將我存儲的信息提取到我的一個核心數據對象中,並將這些數據存儲到NSDictionary對象的NSArray中,以便我可以將此數組發送給我的一個查看並在tableview中顯示數據。如何創建一個NSDictionarys數組

不過我不太清楚如何讓NSDictionary進入NSArray,這是因爲它代表我的讀取請求,希望有人能幫幫我把NSDictionaryNSArray ..林不知道如何做到這一點因爲我如何循環核心數據對象。

// Test listing all FailedBankInfos from the store 
     NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
     NSEntityDescription *entity = [NSEntityDescription entityForName:@"Manuf" inManagedObjectContext:context]; 
     [fetchRequest setEntity:entity]; 

     NSError *error; 

     NSMutableDictionary *tempManufacturerDictionary = [[ NSMutableDictionary alloc] init]; 

     NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; 
     for (Manuf *manuf in fetchedObjects) { 
      [tempManufacturerDictionary setObject:manuf.hasMod forKey:@"HASMOD"]; 
      [tempManufacturerDictionary setObject:manuf.isLocked forKey:@"ISLOCKED"]; 
      [tempManufacturerDictionary setObject:manuf.isReg forKey:@"ISREG"]; 
      [tempManufacturerDictionary setObject:manuf.main forKey:@"MAIN"]; 

      // How do I put the Dictionary above into an array? 
     } 

任何幫助,將不勝感激。

+0

您可以將您的字典添加到「NSMutableArray」類型的對象。 – Jeremy

回答

4

您可以進入循環前實例化一個NSMutableArray,並在每個迭代中宣佈了新的NSMutableDictionary,就像這樣:

NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; 
    NSMutableArray *array = [NSMutableArray array]; 
    for (Manuf *manuf in fetchedObjects) { 
     NSMutableDictionary *tempManufacturerDictionary = [NSMutableDictionary dictionary]; 
     [tempManufacturerDictionary setObject:manuf.hasMod forKey:@"HASMOD"]; 
     [tempManufacturerDictionary setObject:manuf.isLocked forKey:@"ISLOCKED"]; 
     [tempManufacturerDictionary setObject:manuf.isReg forKey:@"ISREG"]; 
     [tempManufacturerDictionary setObject:manuf.main forKey:@"MAIN"]; 

     [array addObject:tempManufacturerDictionary]; 
    } 

您還可以設置您的讀取請求的resultTypeNSDictionaryResultType,並得到一個數組來自取回請求的字典。

+0

神聖的廢話我沒有聽說過這個.. – HurkNburkS

+0

@HurkNburkS希望它會幫助你! –

+0

是啊感謝那將要檢查它現在:P我會想象它可能會加快東西的升技。從測試中,我一直在創建這本字典需要一秒鐘或三個與我有它的數量的數量.. – HurkNburkS

2

就像您使用addObject的任何其他對象一樣。

但是,您需要使用NSMutableArray才能添加元素,但不是正常的NSArray。如果您嚴格需要不可變版本,則可以稍後將可變數組轉換爲普通數組。

+0

但是因爲我看起來是否需要定義某種計數?每次都不徹底? – HurkNburkS