iPhone — Static UITableView с разделами ›1 с использованием Interface Builder

Я добавил новый TableView в свое приложение. Я изменил тип ячейки на статический и перетащил некоторые метки в ячейки. Теперь я хочу получить доступ к ячейкам программно. Например: ячейка 4 в разделе 3 должна открывать сафари с google.com.

Я создал новый класс UITableViewController. Затем я изменил количество разделов на 3 и добавил оператор switch/case в метод numberofcellsinsection.

Если я запускаю приложение и открываю табличное представление, приложение вылетает. Может ли кто-нибудь помочь мне с настройкой TableView?

Спасибо!

ИЗМЕНИТЬ

Вот журнал

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier Cell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'
*** First throw call stack:

person Mike_NotGuilty    schedule 24.11.2013    source источник
comment
Опубликуйте журнал сбоев, пожалуйста.   -  person Adrian P    schedule 24.11.2013
comment
@XCodeMonkey отредактировал это   -  person Mike_NotGuilty    schedule 24.11.2013
comment
Для доступа к разным ячейкам по отдельности вам может потребоваться использовать для этой цели разные идентификаторы. Попробуйте оператор if или switch в своей ячейке для строки, чтобы получить доступ к разным ячейкам. Перейдите по этой ссылке, чтобы лучше понять, как это делается...stackoverflow.com/questions/14303832/   -  person Adrian P    schedule 24.11.2013
comment
У меня нет никаких идентификаторов, потому что я использую статические ячейки. Нужно ли что-то менять в методе cellForRowAtIndexPath?   -  person Mike_NotGuilty    schedule 24.11.2013
comment
При использовании статических ячеек не следует реализовывать какие-либо методы источника данных. Вам следует прочитать раздел «Заполнение статического табличного представления данными» в Руководстве по программированию табличного представления для iOS.   -  person rdelmar    schedule 24.11.2013


Ответы (1)


Я нашел решение, которое работает.

я отредактировал метод cellForRowAtIndexPath следующим образом:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];

    return cell;
}

Теперь я могу получить доступ к своим статическим ячейкам с помощью операторов if, например:

    -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    if (indexPath.section == 2){

    if (indexPath.row == 1){

            NSLog(@"Tap");

            [[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://www.google.com"]];       
          }
    }        
 }
person Mike_NotGuilty    schedule 24.11.2013