传递一个零对象错误

时间:2014-04-18 02:02:55

标签: objective-c core-data nsmanagedobject nsmanagedobjectcontext

我在Xcode中创建了一个笔记项目,我正在使用Core Data。我创建了一个名为'Note'的实体,其中包含一个名为'content'的字符串属性。 (使用editor / create NSManagedObject子类来创建笔记模型)

在我的prepareForSegue方法中(在CreateNotesViewController中)我将我的note内容属性设置为TextView内容,因此我可以在NotesListViewController中获取此注释并显示它。

但我在尝试将此收到的笔记添加到NotesListViewController中的笔记数组中时收到错误,告诉我该笔记为零...

这是我在CreateNotesViewController中的prepareForSegue方法:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if (sender != self.saveButton) return;
    if (self.myTextView.text.length > 0) {

        self.note.content = self.myTextView.text;

        NSManagedObjectContext *context = [self managedObjectContext];

        // creating a new managed object
        NSManagedObject *newNote = [NSEntityDescription insertNewObjectForEntityForName:@"Note" inManagedObjectContext:context];

        [newNote setValue:self.myTextView.text forKey:@"content"];

        NSError *error = nil;

        if (![context save:&error]) {
            NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
        }
    }
}

这是我的unwindToList方法,我试图将注释添加到数组并获取错误:

- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{
    CreateNotesViewController *source = (CreateNotesViewController *)[segue sourceViewController];
    Note *recieivedNote = source.note;

    if (recieivedNote != nil && self.editedRow == -1) {
        [self.notes addObject:recieivedNote];
    } else {
        [self.notes replaceObjectAtIndex:self.editedRow withObject:recieivedNote];
    }

    [self.tableView reloadData];
}

请帮我解决这个问题,这是我第一次使用Core Data:/

这是错误截图:

enter image description here

0 个答案:

没有答案