Я обновил свое приложение и добавил некоторые функции, но с моими таблицами происходит что-то странное. Позволь мне объяснить:
У меня есть табличное представление, и при нажатии строки я хочу открыть новый контроллер представления.
Я использую раскадровку и переходы, и вот что у меня есть:
и переход, который при нажатии строки открывает контроллер представления.
Содержимое каждой строки находится в отдельном файле .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.
Каждая ячейка — это имя файла .h, .m, .xib и идентификатор повторного использования моей пользовательской ячейки. Я только вставил ячейку таблицы в раскадровку, чтобы установить переход.
Странно то, что он работает в IOS 6.0, но не в IOS 5.1.
Это ошибка, которую я получаю в ios5.1:
NSInternalInconsistencyException, the Nib data is invalid.