我正在嘗試創建一個iPhone應用程序,在該應用程序中,我連接到一個API並獲取一個安全字符串和id,以便向api發出請求。什麼是在iphone應用程序中保持通用常量的有效方法?
每次運行應用程序時字符串和id都會更改,並且應用程序中的多個視圖控制器需要這些信息。
我該如何有效存儲這些信息,以便可以輕鬆地通過各種類訪問?
在此先感謝! AJ
我正在嘗試創建一個iPhone應用程序,在該應用程序中,我連接到一個API並獲取一個安全字符串和id,以便向api發出請求。什麼是在iphone應用程序中保持通用常量的有效方法?
每次運行應用程序時字符串和id都會更改,並且應用程序中的多個視圖控制器需要這些信息。
我該如何有效存儲這些信息,以便可以輕鬆地通過各種類訪問?
在此先感謝! AJ
正如你能想象有很多方法,這裏是一個使用NSUserDefaults的:
儲存:
[[NSUserDefaults standardDefaults]setObject:@"some string" forKey:@"key"];
檢索:
NSString *key = [[NSUserDefaults standardDefaults]objectForKey:@"key"];
使用應用程序的委託,似乎成爲「老派」的做法,但我認爲這是一個糟糕的習慣。你把你的應用程序委託變成一個巨大的全局變量,這永遠不是一件好事。
存儲在NSUserDefaults中的作品,儘管如果它不是一個真正想要保存的設置(並且您可能沒有給出安全考慮因素),它可能會在以後再次出現。
我是硬核:我想在你的應用程序委託中實例化一個數據模型類來保存這樣的信息,並將它傳遞給你的根視圖控制器,並傳遞給需要訪問信息的任何其他視圖控制器。優點?沒有全局變量,沒有任何東西會持續到用戶的默認值,並且只有真正需要這些信息的代碼部分纔會看到它(減少距離操作)。缺點是什麼?並不像其他兩種方法那樣容易(至少是第一次)。
它不需要跨啓動保留,所以這是有點不必要的(儘管我認爲你可以配置一個內存默認域)。 – 2010-08-20 00:25:51