【问题标题】:Why am I getting a "Conflicting types" warning on the below instance method?为什么我在以下实例方法上收到“冲突类型”警告?
【发布时间】:2011-03-26 05:15:36
【问题描述】:

我有以下代码

- (UITableViewCell *)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

[[cell textLabel] setFont:[UIFont systemFontOfSize:10.0]];

return cell;
}

由于某种原因,我收到以下错误:

警告:'-(UITableViewCell *)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath'的类型冲突

有人知道是什么原因造成的吗?

【问题讨论】:

    标签: iphone


    【解决方案1】:

    该方法的返回类型应该是void。该方法不返回单元格,它只是简单地通知您它将被显示。显示的特定单元格作为方法参数之一传递。你不需要退货。你可以只设置字体,让它继续。

    【讨论】:

      【解决方案2】:

      你使用了错误的方法。使用

      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
      

      而不是你的。比它不会显示该警告。 ;-)

      【讨论】:

      • -1 没有考虑到 cellForRowAtIndexPath 不是这个提问者想要的方法。
      • 不幸的是,这不能解决我的问题。您不能修改 cellForRowAtIndexPath 中的字体。有关更多信息,请参阅此线程:stackoverflow.com/questions/1895425/…
      【解决方案3】:
      - (void)tableView:(UITableView *)tableView
           willDisplayCell:(UITableViewCell *)cell
               forRowAtIndexPath:(NSIndexPath *)indexPath
      

      我想根据 Apple 应该是无效的。

      【讨论】:

      • 谢谢,这解决了。傻我。 :)
      猜你喜欢
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-27
      相关资源
      最近更新 更多