我已经宣布在viewcontroller.h数组:的NSMutableArray总是在负载
@property (nonatomic, strong) NSMutableArray *array;
在viewcontroller.m我把这段代码控制器里面执行:
@synthesize array = _array;
在viewDidLoad-方法我有这个开头:
if (_array == nil){
NSLog(@"arr was null");
_array = [[NSMutableArray alloc] init];
}
在上面的代码后,我添加一个对象到muta BLE数组是这样的:
[_array addObject:@"1"];
然而,当我从控制器到另一个在模拟器中,_array永远是零,其分配从头阵列,所有的旧值消失。我究竟做错了什么?
更新: 我没有使用任何导航控制器。我使用模态推送。在CTRL2我覆盖的方法prepareForSegue把这个相关代码:
ViewController1 *ctrl1 = segue.destinationViewController;
ctrl1.anothervar = 3;
真正的“重定向”到CTRL1在CTRL2方法“的tableView”中完成的(当使用选择一个选项)。代码如下所示: [self performSegueWithIdentifier:@“select_game_to_ctrl1”sender:self];
的CTRL1被赋予了标识符“select_game_to_ctrl1”(通过故事板)
请提供更多关于从一个控制器到另一个控制器的含义的信息。另外,粘贴你的viewDidLoad方法,以便我们可以看到它是否有任何问题。 –
那你在干什么? – Apurv
对不起。我删除了评论。我在故事板中有controller1和controller2。点击一个控制器上的按钮,带我到ctrl2的performSegueWithIdentifier帮助。 Ctrl1是第一个视图。在viewDidLoad中,我第一次去这个控制器时,数组应该被初始化。然后有按钮,它带我到ctrl2。从那里我回到ctrl1与performSegueWithIdentifier。我也在使用prepareForSegue ctrl2。所以我最后回到ctrl1并在viewDidLoad中再次初始化数组。 – user3355182