我製作了一個有2個場景的遊戲(第一個歡迎屏幕帶有「開始遊戲」按鈕,第二個是遊戲)遊戲很簡單:頭部圖片試圖阻止與子彈相撞(在NSMutableArray *項目符號中表示爲uiimageviews),在 - (void)touchesMoved:withEvent:的幫助下,如果它碰撞UIAlertView似乎得到用戶的選擇:重複或轉到wellcome-scene。如果我們第一次進入遊戲場景那麼一切正常在故事板場景中陣列的物體損失
問題是當我們下次去遊戲場景時,在viewDidLoad中啓動後的屬性子彈顯示它的計數爲3(因爲它應該),但後者顯示的是bullets.count == 0; 我不知道它怎麼可能 - 我在只調用viewDidLoad的方法中啓動這個數組。他第一次一切正常。
P.S.我不使用propertyName,只使用self.propertyName。
P.P.S我建議[UIView commitAnimations]中的原因 - 這就是我製作子彈動畫的方法。 如果我//隱藏它。過分的事情是可以的。但沒有動畫,它看起來很差。
在故事板場景viewDidAppear和viewDidLoad調用相同的時間(如果應用程序不被ios中斷)。那麼你爲什麼認爲它應該有所幫助? – user2380791
因爲當我使用UITableView並讓它從核心數據中的數組中加載單元格時,調用[self.tableView reloadData]不會刷新數據放入viewDidLoad中時刷新數據,但是如果將其放置在viewDidAppear中則會刷新數據。這樣,當我激活一個模態視圖控制器並向數據庫添加一個新項目時,當我解散模態時,表格已刷新。所以,至少據我所知(請糾正我,如果我錯了)viewDidAppear被稱爲每次該視圖即將顯示在屏幕上,viewDidLoad被調用時,視圖加載到內存中。 – Andrewp97
)))有viewWillAppear調用時,視圖「即將被顯示」=),如果你想reloadData的tableView它甚至更好使用甚至沒有viewDidAppear,但viewWillAppear。因爲如果你有1000個元素的dataSource用戶首先看到最後一個dataSource一會兒。 – user2380791