1

よくわかりません。UITableViewがあり、行をクリックすると、新しいUIViewControllerでpushViewControllerが実行されます。この新しいViewControllerにデータを渡したいのですが、オブジェクトがnullです。これが私が使用したコードです:

//TableViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    MyObject *myObject = [myArray objectAtIndex:indexPath.row];
    SecondViewController *vc = [[SecondViewController alloc] init];
    vc.newObject = myObject;
    [self.navigationController pushViewController:vc animated:YES];
}


//SecondViewController.h
@property (nonatomic, strong) MyObject *newObject;

//SecondViewController.m
@implementation SecondViewController
@synthesize newObject = _newObject;

- (void)viewDidLoad {
   NSLog(@"%@", _newObject);   // nil
}

私はいつもこのようにやっていて、以前はいつもうまくいったので、それは奇妙です。なぜ戻り値がnullになるのかわかりません。

ご協力いただきありがとうございます :)

4

1 に答える 1

1

newObjectメソッドなどのどこかでリセットしていないか確認してくださいinit。また、に変更しNSLogNSLog(@"%@", self.newObject);再試行してください。

于 2012-10-11T18:55:34.757 に答える