Objective c 从NSArray添加到核心数据模型
我有一个字符串数组,我想根据数组中的字符串数量向outline视图添加一定数量的行,每个行都有添加的字符串的标题 我认为这将涉及像这样在阵列中循环Objective c 从NSArray添加到核心数据模型,objective-c,cocoa,core-data,Objective C,Cocoa,Core Data,我有一个字符串数组,我想根据数组中的字符串数量向outline视图添加一定数量的行,每个行都有添加的字符串的标题 我认为这将涉及像这样在阵列中循环 for(NSString *title in array) { JGManagedObject *theParent = [NSEntityDescription insertNewObjectForEntityForName:@"projects"
for(NSString *title in array) {
JGManagedObject *theParent =
[NSEntityDescription insertNewObjectForEntityForName:@"projects"
inManagedObjectContext:managedObjectContext];
[theParent setValue:nil forKey:@"parent"];
[theParent setValue:@"Project" forKey:@"name"];
[theParent setValue:[NSNumber numberWithInt:0] forKey:@"position"];
}
不用麻烦了。树控制器位于模型(Spark正在使用的核心数据存储)和视图(您的源视图)之间。您应该从阵列添加到数据存储,而不是从阵列添加到树控制器 树控制器将拾取模型中的更改并在视图中显示更改 编辑: (请记住,远距离调试是很困难的。) 通过垃圾收集,如果你不抓住你的物体,它们很容易从你下面被清理掉 试试这个,看看会发生什么:
for(NSString *title in array) {
NSManagedObjectContext *moc = [self managedObjectContext];
JGManagedObject *theParent =
[NSEntityDescription insertNewObjectForEntityForName:@"projects"
inManagedObjectContext:moc];
[theParent setValue:nil forKey:@"parent"];
// This is where you add the title from the string array
[theParent setValue:title forKey:@"name"];
[theParent setValue:[NSNumber numberWithInt:0] forKey:@"position"];
}
嗯,好的。我该怎么做?我习惯于添加到树控制器。从数组中的每个字符串创建模型对象,并将其添加到托管对象上下文中。@Joshua-这是一个不错的开始!你有没有试过运行它,看看会发生什么?我对你的问题进行了编辑,使之更好。添加您看到的结果和遇到的问题。谢谢!发生的情况是,只添加了一个项,它在调试器中向我抛出了大量错误。我设置的名称在添加时实际上从未显示为默认名称。您确定要将一个表示“nil”的字符串设置为父级的值,而不是
nil
本身吗?哦。谢谢你的注意。我的意思是nil
。