我有UIViewController
使用下面的代码执行登录检查,并使用UITableViewController
作为其父控制器。我正在尝试在切换回UITableViewController
之后向[UINavigationController insertNewObject:]: unrecognized selector sent to instance 0x14de164d0
2014-03-08 17:00:27.379 MyApp[2562:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UINavigationController insertNewObject:]: unrecognized selector sent to instance 0x14de164d0'
添加另一行,但是我收到以下错误:
if(loginSuccess)
{
[self.navigationController popViewControllerAnimated:YES];
[self.navigationController performSelector:@selector(insertNewObject:) withObject:@"Another Row"];
}
-
- (void)insertNewObject:(NSString *)name
{
if (!_objects) {
_objects = [[NSMutableArray alloc] init];
}
[_objects insertObject:name atIndex:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}
insertNewObject的方法定义是:
{{1}}
有人可以帮我解决我做错的事吗?
答案 0 :(得分:2)
您在insertNewObject
而不是UINavigationController
上呼叫UITableViewController
。
尝试在UIViewController上创建一个指向原始TableViewController并通过属性调用它的属性。或者在TableViewController重新出现时调用它。