iphone开发中用NSUserDefaults 判断程序是否第一次运行
来源:互联网 发布:对大数据互联网的看法 编辑:程序博客网 时间:2024/04/28 15:28
from:http://www.lookyilook.info/blog/iphone开发中用nsuserdefaults-判断程序是否第一次运行
iphone开发中用NSUserDefaults判断程序是否第一次运行
在iphone开发中,相信很多朋友在使用NSUserDefaults时会遇到下面的问题。在Settings.bundle那里设置了默认值后,在用户第一次运行时,获取不了默认值。但是当用户进入设置后,再次运行程序,可以获取默认值了。例子如下:
- (BOOL) isFirstRun
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSString * userName = [defaults stringForKey:@"user_name"];
If([userName isEqualToString:@""])
{
NSLog("这是第一次运行");
return YES;
}
return NO;
}
很多开发者认为,在Setting.bundle中,设置一个item 为 @"user_name" 后,并且默认值不填,上面程序就会返回YES。然而 事实不是这样,上面返回的是NO。其实,上面的userName获取的值应为@"null",发现它不等于@"",更不是等于nil。本人在开发中使用的 代码段如下:
- (BOOL) isFirstRun
{
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
BOOL hasRunBefore = [defaults boolForKey:@"runIdentifier"];
If(!hasRunBefore )
{
NSLog("这是第一次运行");
[defaults setBool:YES forKey:@"runIdentifier"];
return YES;
}
return NO;
}
在程序第一次运行时,上面片段返回YES,并且做了一件事,将@"runIdentifier"的值设为YES,那么再一次运行程序时,上面片段就返回NO了。
- iphone开发中用NSUserDefaults 判断程序是否第一次运行
- 判断程序是否第一次运行
- Android判断程序是否第一次运行
- ios 判断程序是否是第一次运行
- 如何判断程序是否第一次运行
- Android判断程序是否第一次运行
- Android判断程序是否第一次运行
- 如何判断程序是否第一次运行
- SharedPreferences判断程序是否第一次运行
- 判断IOS程序是否是第一次运行
- iphone开发判断是否支持后台运行
- 程序第一次运行判断
- 判断程序第一次运行
- 使用android SharedPreference判断程序是否第一次运行
- Android 判断用户是否第一次运行此程序
- 使用sharepreference判断是否是第一次运行程序
- android 判断是否第一次运行
- iOS开发时如何判断APP是否第一次运行
- java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceException错误
- ICCAVR中如何使用自己的库文件2005
- linux socket的select函数例子
- 用PHP开发基于MongoDB的php应用
- gdal中类的
- iphone开发中用NSUserDefaults 判断程序是否第一次运行
- Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
- struts2零配置下的JFreeChart
- Apache conf配置中的Order说明
- Hibernate的Query接口
- document.body.scrollTop用法
- ATmega16_Basic_V1.2开发板光盘资料(未完待续)
- ie6不继承a:hover img这种伪类用zoom:1解决【IE浏览器兼容】
- apache conf中文说明