これは、新しいオブジェクトを作成するために使用するコードです。新しいオブジェクトを保存しないことを選択すると、空のテーブルビューセルが作成されます。どうすればそれを防ぐことができますか?
- (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];
}
ただし、テーブルビューセルが削除されず、オブジェクトのみが削除されるため、アプリがクラッシュするため、これは適切な解決策ではありません。私ができると思ったのは、オブジェクトがnullの場合、最初のテーブルビューセルを自動的に削除することですが、その方法が見つかりませんでした。
助言がありますか?