Tha*_*nks 51 iphone cocoa-touch nsuserdefaults uikit ios
我已经将NSUserDefault数据检索添加到我的应用程序中,这非常好.但是为了进行测试,我想重置我添加到默认数据库的所有数据,以便当用户第一次启动应用程序时,一切都处于状态.
我试着打电话:
[NSUserDefaults resetStandardUserDefaults];
但那没有做任何事情.默认值仍然保存并可以检索.
mem*_*ons 99
你想要的NSUserDefaults removePersistentDomainForName
.这将删除应用程序的所有用户默认值:
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
Run Code Online (Sandbox Code Playgroud)
有关该NSUserDefaults
课程的更多信息,请参阅Apple文档.
或者,如果你关心的只是iOS模拟器中的数据,你可以通过iOS模拟器>重置内容和设置来实现.
Tom*_*ton 51
最简单的方法是从模拟器中删除应用程序 - 就像你从真实手机中删除它一样,通过点击(点击)并按住直到图标开始振动.这将删除所有应用程序数据,下次从Xcode安装时,它就像第一次一样.
如果您需要保留其他应用程序数据,则有几种选择.
一种方法是在每个默认密钥上使用一些调用removeObjectForKey:的调试代码.
另一种是找到安装模拟器副本的目录,并删除包含首选项的文件.使用它来查找应用程序:
ls -ld ~/Library/Application\ Support/iPhone\ Simulator/User/Applications/*/*.app
Run Code Online (Sandbox Code Playgroud)
应用程序的完整路径将包含名称为UUID的目录.在该目录中,在"库/首选项"中查找首选项文件.删除它,用户首选项已消失.
您可能会发现您已经"写"到用户默认的应用程序都在文件内部删除此.plist文件有效:
user name/Library/Preferences/com.theAppYouAreHandling.plist
Run Code Online (Sandbox Code Playgroud)
在Swift 2.0中,以下1行将重置应用程序的所有NSUserDefault:
NSUserDefaults.standardUserDefaults().removePersistentDomainForName(NSBundle.mainBundle().bundleIdentifier!)