在我的项目中,第一个视图控制器是选择学校和城市,选择后,我将单击提交。
然后应用程序不会再次询问它,除非我清除应用程序缓存。输入用户ID和密码后,下一页是登录,我将单击登录。
现在,当我启动我的应用程序时,它会在登录下一页后显示我。
现在我的问题是如何在编码 bcz 时清除项目缓存,我已将其保存在 NSUserDefaults 中,每当我运行程序一段时间时,它都会从选择学校的第一个视图控制器开始,或者有时它从登录页面开始,当我在 iphoneSE、iphone5、6、7 上运行它时。它在登录页面中向我显示了不同的学校背景,我不知道解决这个问题!
选择学校和城市视图 控制器>登录页面>进入应用程序
听起来你需要从NSUserDefaults中删除一些数据。
从StackOverflow上的这个答案:
清除 NSUserDefaults 的最简单方法是使用以下方法之一:
选项 1
[[NSUserDefaults standardUserDefaults] setPersistentDomain:[NSDictionary dictionary] forName:[[NSBundle mainBundle] bundleIdentifier]];
选项 2
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
或者如果你使用的是 Swift:
if let bundleID = Bundle.main.bundleIdentifier {
UserDefaults.standard.removePersistentDomain(forName: bundleID)
}
删除单个条目
若要从 NSUserDefaults 中删除单个条目,请使用以下命令:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"preferenceName"];