iphone sqlite app启动问题

时间:2010-05-02 20:30:49

标签: iphone sqlite

我的应用程序中有4个数据库目录,我将切换四个目录。 当我启动应用程序时,我读取NSUserDefaults并尝试在内存中加载默认目录,但这是第一次没有发生。相反,我第一次返回null值只是因为DB连接因某些未知原因而未成功,调试器也无法去那里。

但是应用程序下次启动时,会成功获取值。

请帮忙

1 个答案:

答案 0 :(得分:1)

如果您尝试从用户默认设置中获取某些必要的数据,则第一次运行该应用时可能不存在。您可能需要使用以下方法创建一组默认值(heh):

-[NSUserDefaults registerDefaults:]

...在查询任何值的用户默认值之前。

来自User Defaults Programming Topics

  

注册域名是一组   应用程序提供的默认值   除非用户覆盖它们,否则使用它   “默认默认值”或“工厂   设置”)。例如,第一个   你运行Xcode的时间,没有   IndexOnOpen值保存在您的   默认数据库。因此,Xcode   注册的默认值   IndexOnOpen中   NSRegistrationDomain作为“抓住所有人”   值。此后Xcode可以假设   始终是NSUserDefaults对象   有一个值可以返回默认值,   简化用户默认值的使用。

     

您设置NSRegistrationDomain默认值   以编程方式使用该方法   registerDefaults: