我需要在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单元格:
我的代码出了什么问题?
答案 0 :(得分:0)
SIGABRT
消息可能由多件事引起。最常见的可能是IBOutlet
仍然链接在界面文件中,但代码中的已删除。
由于您正在从UITableViewCell
文件中加载XIB
个对象,因此这很可能是您遇到问题的原因。检查您的SubscriptionContentCell
界面文件,看看是否有任何IBOutlet
链接到已从您的课程代码中删除的子视图。