大家好,我在做Udemy的課程時間,代碼調用放置代碼在viewDidLoad中的功能,如下圖所示:代碼在viewDidLoad中運行,每次調用
override func viewDidLoad() {
super.viewDidLoad()
placesArray.append(["name":"Taj Mahal", "lat":"27.175607", "lon":"78.042112"])
}
數組追加應該只運行然而,一次,當我繼續到另一個viewController並回來,它運行代碼再次追加。所以我現在有一排2行,兩個都是泰姬陵。
我認爲viewDidLoad函數只運行一次代碼?
有沒有辦法解決這個問題?
謝謝。
附錄: 我使用的是Swift,因此在創建和啓動viewController時沒有看到任何alloc和init。聽起來很奇怪,視頻教程在viewDidLoad中工作,教練正在使用故事板從初始表格視圖控制器延伸到視圖控制器上的地圖視圖,並且在地圖視圖上只有一個後退按鈕,即segue的通過故事板回到表格視圖控制器。 - 可能是因爲我有最新版本的Swift語言,並且培訓師使用的是早期版本(因爲我之前注意到在編碼方面存在一些細微差異),但您永遠不知道。無論哪種方式,只要他觸摸後退按鈕,它不會再運行附加代碼。 我試圖與培訓師接觸,因爲這裏的一些建議,雖然他們好似乎沒有工作。 一旦我接觸到培訓師,我會把解決方案放在這裏。
也許當你繼續對其他viewController舊的是dealloc,當你回來它是再次加載?! – gran33 2014-11-05 15:02:27
你可能會回來,但不會放鬆。你不應該那樣做。它創建一個新的實例,它實際上並沒有回來。 – rdelmar 2014-11-05 15:40:46