我更新了我的应用程序并添加了一些功能,但我的表格视图发生了一些奇怪的事情。让我解释:
我有一个表格视图,当按下一行时,我想打开一个新的视图控制器。
我正在使用故事板和segues,这就是我所拥有的:
并且当按下该行时会打开视图控制器。
每行的内容都在一个单独的 .xib 文件中(如果保持不变,我会在 IOS 6.0 中强制关闭,或者我可以处理内容,无论我添加了什么)。
所以我的 EachCell.xib 是这样的:
这是我每个单元格的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier=@"EachCell";
//this is the identifier of the custom cell
EachCell *cell = (EachCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
tableView.backgroundColor=[UIColor clearColor];
tableView.opaque=NO;
tableView.backgroundView=nil;
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"EachCell" owner:self options:nil]; ######HERE IS THE SIGBART PROBLEM
cell = [nib objectAtIndex:0];
}
/*** bla bla bla**/
return cell;
}
这是为了按下并打开新的视图控制器:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
/..rest of code ../
[self performSegueWithIdentifier:@"nameofsegue" sender:tableView];
}
我已经提到了 SIGBART 问题在哪里。
EachCell 是 .h,.m,.xib 文件的名称和我的自定义单元格的重用标识符。我只在情节提要中插入了表格单元,以便我可以设置我的转场。
奇怪的是它在 IOS 6.0 中播放,但在 IOS 5.1 中没有。
这就是我在 ios5.1 中遇到的错误:
NSInternalInconsistencyException, the Nib data is invalid.