无法在UITableViewController

时间:2015-10-02 15:31:53

标签: ios objective-c uitableview

我需要在UITableViewCell内加载自定义UITableViewController的帮助。预期的结果是拥有一个带有3 UITableViewCell的UITableViewController:3个中的2个是常规UITableViewCell,一个是自定义UITableView子类,名为 SubscriptionContentCell 。基于存在的内容的条件显示3个单元,不存在或仍然从服务器加载。我没有条件问题,但有库存

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

我放置代码来选择适当的UITableViewCell的方法。这是代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *cellIdentifier;
    id cell;

    if ([deactivableOrNotContents count] > 0) {
        cellIdentifier = @"subscriptionCell";
    } else {
        if (getPurchasedHasFired == true) {
            cellIdentifier = @"noContentsAvailable";
        } else {
            cellIdentifier = @"loadingCell";
        }
    }

    if ([deactivableOrNotContents count] > 0) {
        SubscriptionContentCell *contentCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        cell = contentCell;
    } else {
        UITableViewCell *standardCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        cell = standardCell;
    }

    // Configure the cell...
    if (cell == nil) {
        if ([deactivableOrNotContents count] > 0) {
            cell = [[SubscriptionContentCell alloc] initWithStyle:UITableViewCellStyleDefault
                                          reuseIdentifier:cellIdentifier];
        } else {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                          reuseIdentifier:cellIdentifier];
        }
    }

    return cell;
}

我遇到的问题是SIGABRT在线:

SubscriptionContentCell *contentCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

即使我导入了这个类。

这是我的storyboard文件中UITableViewController内的UITableView单元格:

enter image description here

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

SIGABRT消息可能由多件事引起。最常见的可能是IBOutlet仍然链接在界面文件中,但代码中的已删除

由于您正在从UITableViewCell文件中加载XIB个对象,因此这很可能是您遇到问题的原因。检查您的SubscriptionContentCell界面文件,看看是否有任何IBOutlet链接到已从您的课程代码中删除的子视图。