我有一个绑定到nstableview的数组控制器。我还有一些用户填充的nstextfields然后按下“添加”按钮。我想获取这些字段first_name和last_name,并使用它们来填充实体。我将称之为PersonEntity实体。
因此,在添加按钮的委托中,我获取2个文本字段的字符串值,填充实体,然后将其添加到数组控制器。我是cocoa / objective-c的新手。这似乎是一件简单的事情,但似乎我无法像我期望的那样创建一个实体
PersonEntity* person
[person setFirst_name:firstName];
[person setLast_name:lastName];
[customerArray addObject:person];
崩溃说我无法在[customerArray addObject:customer]行添加nil。该行是我尝试将实体添加到绑定到tableview的数组控制器。做这样的事的正确方法是什么?
答案 0 :(得分:3)
我不确定PersonEntity是否是核心数据实体,但由于您的问题也被标记为核心数据,我认为它是。
如果您的ArrayController(绑定到NSTableView的那个)绑定到CoreData源,则不会直接向其添加对象。而是将它添加到您的managedObjectContext中,它将反映在您的NSTableView上。
代码应如下所示:
PersonEntity *person = [NSEntityDescription insertNewObjectForEntityForName:@"PersonEntity"
inManagedObjectContext: managedObjectContext];
[person setFirst_name:firstName];
[person setLast_name:lastName];
/* Save Event */
NSError * error = nil;
[__managedObjectContext save: &error];
希望这有帮助! 鬃毛