1

我目前正在像这样阅读我的核心数据

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
                    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Manuz" inManagedObjectContext:__managedObjectContext];
                    [fetchRequest setEntity:entity];
                    NSArray *fetchedObjects = [__managedObjectContext executeFetchRequest:fetchRequest error:nil];
                    NSManagedObject *myinfo = [NSManagedObject alloc]
                    for (NSManagedObject *info in fetchedObjects) {
                        [self startTheParsingProcess:[info valueForKey:@"manu"]];
                    }

我的 for 语句有一些问题,它执行了好几次,我不确定它为什么要这样做.. 想想我真的不需要它..

我希望有一个替代解决方案,我只需初始化 NSManagedObject,然后将其添加到我在声明中执行的方法调用中......

所以我猜是这样的

NSManagedObject *info = [[NSManagedObject alloc] init]; //this is obviously wrong.. 
[self startTheParsingProcess:[info valueForKey:@"manu"]];

任何帮助都是极好的!

4

1 回答 1

3

不要使用 alloc & init 创建 NSManagedObject。如果要创建实体“Manuz”的实例,可以通过将新的 Manuz 对象插入托管对象上下文来实现。

NSManagedObject *newManuz = [NSEntityDescription insertNewObjectForEntityForName:@"Manuz" inManagedObjectContext:context];
于 2012-05-01T05:11:41.660 回答