我在方法 titleFieldValueChanged 中收到此错误,当用户更改文本字段的值以更新数据模型时调用该方法。
在 DetailViewController.m 中:
- (IBAction)titleFieldTextChanged:(id)sender
{
self.detailItem.data.title = self.titleField.text;
}
我知道我必须用括号表示,对吗?但我不知道该怎么做。
我在方法 titleFieldValueChanged 中收到此错误,当用户更改文本字段的值以更新数据模型时调用该方法。
在 DetailViewController.m 中:
- (IBAction)titleFieldTextChanged:(id)sender
{
self.detailItem.data.title = self.titleField.text;
}
我知道我必须用括号表示,对吗?但我不知道该怎么做。
在你继续之前查看你的代码(我稍微改变了它 - 做同样的事情)。您发送的代码在尝试从 master 切换到 detail 时崩溃。这些是我发现的更大的问题。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
DetailViewController *dvc = segue.destinationViewController;
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSDate *object = _exercises[indexPath.row];
dvc.detailItem = object;
}
}
// in detail view
@property (strong, nonatomic) NSDate *detailItem;
您传递给详细视图控制器的“对象”是一个 NSDate 对象。
您不能为 NSDate 对象设置标题。
你做的时候也有问题
[[self detailItem] setFullImage:fullImage];
[[self detailItem] setThumbImage:thumbImage];
您再次尝试为您的 NSDate 对象设置图像。
我建议您按照本教程进行操作,它将展示您正在尝试制作的一个很好的示例,因为您提到您是初学者。
括号符号看起来像:
[[[self detailItem] data] setTitle:[[self titleField] text]];
不过,实际错误听起来更像是类型错误。要么detailItem 的类型实际上没有数据属性,要么不清楚detailItem 是什么类型的类。