2010-05-02 54 views
0

我有4個數據庫目錄在我的應用程序,我將切換四個目錄。 當我啓動應用程序時,我讀取NSUserDefaults並嘗試在內存中加載默認的目錄,但是在第一次沒有發生。相反,我得到第一次返回空值僅僅是因爲數據庫連接由於某些未知原因而不成功,調試器也無法去那裏。iPhone的SQLite應用程序啓動問題

但是應用程序在下次啓動時,值被成功提取。

請幫

回答

1

如果你試圖從用戶的默認值取一些必要的數據,它可能不是有你第一次運行該應用程序。你可能需要創建一個使用默認設置的默認設置(嘿嘿):

-[NSUserDefaults registerDefaults:]

...你查詢用戶默認設置的任何值之前。

User Defaults Programming Topics

登記域是一組被 使用,除非用戶將覆蓋他們( 「缺省默認值的」或「工廠 設置」) 應用程序提供的默認值。例如,運行Xcode的第一個 ,沒有 IndexOnOpen值保存在您的 默認值數據庫中。因此,Xcode 將 IndexOnOpen的默認值作爲「全部捕獲」 值登記在 NSRegistrationDomain中。之後Xcode可以假設 NSUserDefaults對象始終爲 具有默認返回值, 簡化了用戶默認值的使用。

您以編程方式使用方法 registerDefaults:設置NSRegistrationDomain默認值 。

+0

非常感謝TechZen,它很好的洞察你。幫了很多 – Futur 2010-05-03 00:27:29