1

我很困惑。我有一个 UITableView,当我单击一行时,它会执行一个带有新 UIViewController 的 pushViewController。我想将数据传递给这个新的视图控制器,但我的对象为空。这是我使用的代码:

//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 回答