我已經宣佈在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