1

コア データ オブジェクトの 1 つに保存した情報をフェッチし、このデータをNSArrayofNSDictionaryオブジェクトに保存して、この配列をビューの 1 つに送信し、データをテーブルビューに表示できるようにします。

ただし、をに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?
        }

任意の助けをいただければ幸いです。

4

2 に答える 2

4

NSMutableArray次のように、ループに入る前にan をインスタンス化し、NSMutableDictionaryすべての反復中にnew を宣言できます。

    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];
    }

resultTypeフェッチ リクエストの を に設定NSDictionaryResultTypeして、最初にフェッチ リクエストから辞書の配列を取得することもできます。

于 2012-09-27T23:01:17.130 に答える
2

他のオブジェクトと同じように、addObject.

要素を追加するにNSMutableArrayは、法線ではなく、ただしを使用する必要があります。NSArray不変バージョンが厳密に必要な場合は、後で可変配列を通常の配列に変換できます。

于 2012-09-27T23:00:31.610 に答える