0

我在方法 titleFieldValueChanged 中收到此错误,当用户更改文本字段的值以更新数据模型时调用该方法。

在 DetailViewController.m 中:

- (IBAction)titleFieldTextChanged:(id)sender
{ 
    self.detailItem.data.title = self.titleField.text;
}

我知道我必须用括号表示,对吗?但我不知道该怎么做。

4

2 回答 2

0

在你继续之前查看你的代码(我稍微改变了它 - 做同样的事情)。您发送的代码在尝试从 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 对象设置图像。

我建议您按照本教程进行操作,它将展示您正在尝试制作的一个很好的示例,因为您提到您是初学者。

iOS 教程:如何创建一个简单的 iPhone 应用程序

于 2013-09-29T06:21:37.730 回答
0

括号符号看起来像:

[[[self detailItem] data] setTitle:[[self titleField] text]];

不过,实际错误听起来更像是类型错误。要么detailItem 的类型实际上没有数据属性,要么不清楚detailItem 是什么类型的类。

于 2013-09-27T22:02:09.697 回答