通过点击一个单元格,tableView
我正在创建新NSManagedObject
实例并回滚到上一个viewController
:
User *user = [self.fetchedResultsController objectAtIndexPath:indexPath];
[self.delegate setSupervisorGUID:user.server_id supervisorTitle:user.name];
[self.navigationController popViewControllerAnimated:YES];
同时viewController
我有一个取消按钮还有什么回滚到前一个viewController
但没有设置新对象(归零用户对象):
[self.delegate setSupervisorGUID:[NSNull null] supervisorTitle:@"User not set"];
[self.navigationController popViewControllerAnimated:YES];
这种方法可以解决问题,但我认为它在逻辑上是不正确的,我在这里也有一个警告。我怎样才能以正确的方式做到这一点?
更新
警告是:
不兼容的指针类型将“NSNull *”发送到“NSString *”类型的参数
这里是定义-setSupervisorGUID:supervisorTitle:
- (void) setSupervisorGUID:(NSString *) supervisorId supervisorTitle:(NSString *) supervisorTitle
{
if ([formData[@"visit_type_id"] isEqualToString:supervisorId]) return;
[formData setObject:supervisorId forKey:@"supervisor_id"];
[formData setObject:supervisorTitle forKey:@"supervisorTitle"];
supervisorCell.detailTextLabel.text = supervisorTitle;
[self.tableView reloadData];
}