gpt4 book ai didi

ios - 将 NSManagedObject 设置为 nil;

转载 作者:行者123 更新时间:2023-11-29 03:41:49 24 4
gpt4 key购买 nike

通过点击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];

这种方法可以解决问题,但我认为这在逻辑上是不正确的,我在这里也有一个警告。我怎样才能以正确的方式做到这一点?

更新

警告是:

Incompatible pointer types sending 'NSNull *' to parameter of type '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];
}

最佳答案

NSNull * NSString * 不兼容。但你可以打电话

[self.delegate setSupervisorGUID:nil supervisorTitle:@"User not set"];

而是在委托(delegate)方法中检查 supervisorId == nil

关于ios - 将 NSManagedObject 设置为 nil;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18316996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com