Ошибка читается Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MObject objectAtIndex:]: unrecognized selector sent to instance
. Таким образом, я получаю от этого то, что экземпляр MObject (подкласс NSObject) получает сообщение objectAtIndex:
, которое оно не предназначено для обработки.Как я могу устранить эту ошибку «непризнанный селектор, отправленный на экземпляр»?
Ошибка возникает, когда я нажимаю на строку таблицы, чтобы перейти к ее подробному представлению, которое состоит из UIWebView detailWebView
. Код для didSelectRowAtIndexPath
выглядит следующим образом:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MObjectDetailVC *mObjectDetailVC = [[MObjectDetailVC alloc] initWithNibName:@"MObjectDetailVC" bundle:nil];
mObjectDetailVC.detailURL = [[NSURL alloc] initWithString:[[[mcData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row] url]];
mObjectDetailVC.title = [[[mcData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row] name];
[self.navigationController pushViewController:mObjectDetailVC animated:YES];
[mObjectDetailVC release];
}
Это занимает свойство выбранного экземпляра MObject
NSString url
и превратить его в NSURL для контроллера представления детали, которая просто делает основной [detailWebView loadRequest:[NSURLRequest requestWithURL:detailURL]]
.
Если у вас есть предложения, я буду рад их услышать. И если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Какова структура 'mcData'? Действительно NSArray NSArray? – kennytm
'mcData' - это' NSArray', состоящий из кучи 'MObject'. Итак, вместо каждого элемента, являющегося «NSObject» внутри массива, каждый должен быть «NSArray» внутри массива? – scojac