押されたときに新しい .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から別の.xibにオブジェクトを渡す方法の問題です。