从child添加到UITableViewController的行

时间:2014-03-08 23:09:28

标签: ios uitableview unrecognized-selector

我有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}}

有人可以帮我解决我做错的事吗?

1 个答案:

答案 0 :(得分:2)

您在insertNewObject而不是UINavigationController上呼叫UITableViewController

尝试在UIViewController上创建一个指向原始TableViewController并通过属性调用它的属性。或者在TableViewController重新出现时调用它。