こんにちは私はデータベースからの値をMultableArrayに保存してからCoreDataに保存しています:
NSMultableArray *mutary = [[NSMultableArray alloc] init];
NSManagedObjectContext *context = [app managedObjectContext];
for(int n=0; n<[AttributeArray count]; n++)
{
[mutary addObject:[[AttributeArray objectAtIndex:n] objectForKey:@"AttributName"]];
NSLog(@"%@", mutary);
}
attributeString = [mutary componentsJoinedByString:@","];
raume = [NSEntityDescription insertNewObjectForEntityForName:@"Raum" inManagedObjectContext:context];
raume.raumattribut = attributeString;
if (![context save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
MultableArrayのNSLog出力は次のとおりです。
2012-06-20 17:21:00.047 book-app[31984:15803] (
A7OVERHEAD,
Beamer
)
これまでのところ、正しく機能しています。これで、データベースからの2つの期待値が配列に含まれます。今、私はCoreDataからこれらの属性をフェッチしています:
NSManagedObjectContext *context = [app managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Raum" inManagedObjectContext:context];
[request setEntity:entity];
NSError *error = nil;
NSArray *events = [context executeFetchRequest:request error:&error];
for (Raum *att in events)
{
stringAttribute = [[events valueForKey:@"raumattribut"] componentsJoinedByString:@","];
NSLog(@"ATTRIBUTE: %@", stringAttribute);
}
}
ここまでは順調ですね。しかし、NSLogの出力を見ると、次のようになります。
2012-06-20 17:21:00.055 book-app[31984:15803] ATTRIBUTE: <null>,A7OVERHEAD,Beamer
CoreDataが返され、次に2つの値が返されます。それはどこから来たのですか?
誰かが助けることができますか?
前もって感謝します