這是我用來創建一個新對象的代碼。問題是,如果我選擇不保存新對象,它會創建一個空的tableview單元格。我怎樣才能防止這種情況發生?防止核心數據創建空對象
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Add"]) {
NSLog(@"Setting PersonsTVC as a delegate of PersonDetailTVC");
StepDetailView *personDetailTVC = segue.destinationViewController;
personDetailTVC.delegate = self;
personDetailTVC.title = @"Add New Step";
NSLog(@"Creating a new person and passing it to PersonDetailTVC");
Step *newPerson = [NSEntityDescription insertNewObjectForEntityForName:@"Step"
inManagedObjectContext:self.managedObjectContext];
personDetailTVC.person = newPerson;
}
else {
NSLog(@"Unidentified Segue Attempted!");
}
}
什麼我試過到目前爲止被插入下面personDetailTVC.person = newPerson;
if (newPerson.name == nil) {
[self.managedObjectContext deleteObject:newPerson];
[self.managedObjectContext save:nil];
[self performFetch];
[self.tableView reloadData];
}
後的代碼,但它不是一個很好的解決方案,因爲它崩潰的應用程序,因爲實現代碼如下細胞沒有得到刪除,只有對象沒有。 我認爲我可以做的是自動刪除第一個tableview單元格,如果該對象爲null,但我還沒有找到辦法。
有什麼建議嗎?
對不起,你能解釋一下更好的目標嗎?我不明白你在這裏問什麼..謝謝 –
你應該保存它。如果不需要,您可以稍後刪除它。 – Shmidt