Xcode iPhone SDK "Завершение приложения из-за необработанного исключения" - PullRequest
0 голосов
/ 07 февраля 2010

У меня проблема с приложением для iPhone.

Это приложение на основе вкладок. На одной из вкладок у меня есть табличное представление. Я настроил его для загрузки данных из PLIST.

Моя проблема в том, что когда я пытаюсь собрать и запустить его, приложение либо вылетает, либо остается на черном экране с сообщением об ошибке «Завершение приложения из-за необработанного исключения».

Я заглянул в консоль и обнаружил, что ошибка, вероятно, заложена в этой строке:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
 return workouts.count;
}

(сообщение об ошибке:)

2010-02-06 21:50:54.733 Mudo[52439:207] *** -[FirstViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x39101a0
2010-02-06 21:50:54.735 Mudo[52439:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[FirstViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x39101a0'
2010-02-06 21:50:54.736 Mudo[52439:207] Stack: (
    29344859,
    2569487625,
    29726779,
    29296246,
    29148866,
    4413562,
    4420938,
    4419935,
    3136474,
    3076985,
    3118420,
    3106975,
    55857840,
    55857263,
    55855302,
    55854394,
    2780921,
    2804616,
    2787027,
    2814133,
    37441233,
    29129600,
    29125704,
    2780777,
    2818051
)

Сборка приложения не генерирует ошибок.

Пожалуйста, помогите мне? Спасибо:)

Ответы [ 2 ]

1 голос
/ 07 февраля 2010

Если вы посмотрите на фактический текст исключения, 'NSInvalidArgumentException', reason: '*** -[FirstViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x39101a0', вы увидите корень проблемы. Где-то в вашем коде вы вызываете tableView:numberOfRowsInSection: на FirstViewController, который не реализует этот метод.

Исключения не перехватываются во время компиляции, а генерируются во время выполнения. Возможно, вы захотите прочитать их, если вы не знакомы, так как они довольно важная часть многих языков программирования.

http://en.wikipedia.org/wiki/Exception_handling

0 голосов
/ 07 февраля 2010

Полагаю, поскольку FirstViewController является одним из стандартных примеров классов, созданных при запуске нового приложения на основе панели вкладок в Xcode, в котором вы не изменили его суперкласс или не реализовали методы UITabeViewDelegate и UITableViewDataSource.

Либо так, либо вы реализовали методы из этих протоколов в другом классе, но установили FirstViewController в качестве делегата / источника данных табличного представления.

Нам нужно больше информации, чтобы знать наверняка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...