本文介绍了iOS5 中我的 UITableView 中的 dequeueReusableCellWithIdentifier 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 iOS 5 中遇到此错误

I am getting this error in iOS 5

-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]:无法识别的选择器发送到实例0xa217200

但是,我在 iOS 6 中没有遇到任何错误.我该如何解决这个问题?这是我的代码:

However, I get no errors in iOS 6. How can I fix this problem? Here's my code:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"MyCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; /// SIGABRT error

    if (!cell)
    {
        cell = [[UITableViewCell alloc]
        initWithStyle: UITableViewCellStyleSubtitle
        reuseIdentifier: CellIdentifier];
    }

    return cell;
}

推荐答案

EDIT:这个方法是iOS6+ SDK新增的.

EDIT: This method is newly added in iOS6+ SDK.

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

但在 iOS 5 中,创建 UITableViewCell 的实例我们通常使用这种方法:-

But in iOS 5, to create instance of UITableViewCell we generally use this method :-

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

在 iOS 5 中,不需要你在 iOS 6 中使用的额外参数.(forIndexPath:).

In iOS 5, there is no need of extra parameter which you have used in iOS 6. (forIndexPath:).

所以改变你的方法.它会起作用的.

So change your method. It will work.

这篇关于iOS5 中我的 UITableView 中的 dequeueReusableCellWithIdentifier 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 09:36