我有一个表格视图,按下时会加载一个新的 .xib。问题是,我需要将自定义对象传递给新的 .xib。到目前为止,我有:
-(UITableViewCell *)doTestCellForTableView:(UITableView *)tableView atIndexPath:(NSIndexPath *)indexPath {
//some other code for current view
TestObj *testobj = [[TestObj alloc]init];
if(shouldGo){
cell.userInteractionEnabled = YES;
UITapGestureRecognizer *tapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(loadTestView:)];
tapped.numberOfTapsRequired = 1;
[cell addGestureRecognizer:tapped];
}
在那个方法中:
-(void)loadTestView:(TestObj *)withTestObj{
TestViewController *newView =
[[TestViewController alloc] init];
//Set the property of type TestObj
newView.testobjprop = withTestObj;
[self presentViewController:newView animated:YES completion:nil];
}
它抛出 NSInvalidArgumentException。我怎样才能到达选择器将发送在 tableview 方法中初始化的“testobj”的位置,以便我可以在那里访问它?
如果我注释掉“newView.testobjprop = withTestObj;”,新的 .xib 就可以正常加载 在 loadTestView 方法中。所以我认为问题就在那里,问题在于如何将一个对象从一个 .xib 传递到另一个。