gpt4 book ai didi

ios obj.var = exp VS [obj var :exp]

转载 作者:行者123 更新时间:2023-12-01 17:45:21 26 4
gpt4 key购买 nike

为什么/何时使用其中一种?我刚刚遇到了一个问题,我在使用一个时收到警告,而在使用另一个时没有警告。

例子:

tableView.tableHeaderView = label; // worked
[tableView tableHeaderView:label]; // did not work - "instance method '-tableHeaderView:' not found (return type defaults to 'id')"

困惑

最佳答案

setter 通常以 set 为前缀.试试这个:

[tableView setTableHeaderView:label];

也就是说,这个:
tableView.tableHeaderView = label;

转换为:
[tableView setTableHeaderView:label];

使用点表示法时由编译器自动生成。

声明 objc 属性时,此约定也适用于 setter 声明的属性名称(同样,默认情况下)。

Getter 不使用此约定,它们的选择器与声明的属性名称相同(默认情况下):
view = tableView.tableHeaderView;

等于:
view = [tableView tableHeaderView];

关于ios obj.var = exp VS [obj var :exp],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8021479/

26 4 0
文章推荐: ios - 混合 Box2D 加速度计 + 重力?
文章推荐: java - 在 List 中,如何保留最新条目并删除具有相同字段的先前条目?