因此,我正在Objective-C中製作一個簡單的應用程序,使用單個tableview來顯示機場及其相關的機場代碼,並允許用戶添加新的機場。NSMutableArray保持乘法/重置
我已經在NSArray中創建了一類已知機場及其代碼,用於設置已知機場的初始tableview數據。在viewDidLoad中,我設置了本地的NSMutableArray等於已知機場陣列
- (void)viewDidLoad {
[super viewDidLoad];
self.allAirports = [[GGAirportData knownAirports] mutableCopy];
}
在一個單獨的視圖控制器,機場和它的數據可以被添加到這個陣列通過委託方法,但正如你可能已經猜到了,每次應用程序啓動,在viewDidLoad中添加此代碼不僅會將我的NSMutableArray * allAirport重置爲僅* knownAirports數組,但是一旦我實現NSUserDefaults以保留所添加的機場,它會將原始self.allAirports數組中的機場數量加倍。 ..所以我添加的第三個機場,它增加了三倍,等等......
所以我的問題是,我怎樣才能將knownAirports數據帶入這個應用程序,而不乘以每次?除了viewDidLoad,我還可以在哪裏聲明和設置這些值,它只會評估一次,絕不再回顧已知機場數組?我已經在這個bug三天了,並嘗試了所有我能想到的解決方法。在此先感謝
哇!你讓我的一整天都是我的朋友。我從來沒有想過只是使用if/else來檢查NSUserDefaults鍵的值....非常感謝你的建議。 順便說...由於某種原因,我不得不 檢查用戶默認值,如果([airportArray計數] == 0){ // 雅達內容十分重要 } 因爲當我檢查,如果由於某種原因語句'nil'它總是返回零,即使在評估else語句之後。無論哪種方式,這既不在這裏,也不在那裏,因爲我的應用程序工作,我感謝你一百萬! – 2014-10-21 04:27:55