中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用偏好設置存儲數據

發布時間:2020-06-27 09:22:03 來源:網絡 閱讀:309 作者:ymanmeng123 欄目:移動開發
  • 偏好設置

iOS應用支持偏好設置,要來保存數據,比如保存用戶名、密碼、字體大小等設置,iOS提供了一套標準的解決方案來為應用加入偏好設置。

     每個應用都有一個NSUserDefaults實例,通過它來存取偏好設置。

+ (NSUserDefaults *)standardUserDefaults //單例對象

存儲偏好設置使用set開頭的方法,如:

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"aaa" forKey:@"account"];
[defaults setObject:@"123" forKey:@"password"];
[defaults setInteger:10 forKey:@"age"];
[defaults setBool:YES forKey:@"autoLogin"];
//存儲后立刻同步
[defaults synchronize];

讀取偏好設置也有對應的方法,如:

NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSString * account = [defaults objectForKey:@"account"];
BOOL autoLogin  = [defaults boolForKey:@"autoLogin"];


  • 應用案例:新特性頁面的顯示

很多App下載或更新后第一次打開會顯示一個新特性頁面(往往是多張圖片展示新特性),再次打開不會再顯示。

實現方式:

    將每一次App運行時的版本號存儲在偏好設置中

    App啟動時,檢測存儲在偏好設置中的版本號與當前的版本號是否一致

如:

//AppDelegate的didFinishLaunching...方法中

//通過UserDefault獲得上一次app運行時的版本
NSString * lastVersion = [[NSUserDefaults standardUserDefaults] objectForKey:UserDefaultBundleVerson];
//獲取當前Bundle Version
NSURL * infoPlistURL = [[NSBundle mainBundle] URLForResource:@"Info.plist" withExtension:nil];
NSDictionary * dict = [NSDictionary dictionaryWithContentsOfURL:infoPlistURL];
NSString * currentVersion = dict[(NSString*)kCFBundleVersionKey];
//如果這個版本時第一次進入,則顯示新特性頁面
if ( ![currentVersion isEqualToString:lastVersion] ) {
    UIViewController * vc = [[UIStoryboard storyboardWithName:@"MainPage" bundle:nil] instantiateViewControllerWithIdentifier:@"newFeature"];
    self.window.rootViewController = vc;
}
else {
    UIViewController * vc = [[UIStoryboard storyboardWithName:@"MainPage" bundle:nil] instantiateViewControllerWithIdentifier:@"mainPage"];
    self.window.rootViewController = vc;
}
//新特性跳轉到App主頁時

//獲取當前Bundle Version
NSURL * infoPlistURL = [[NSBundle mainBundle] URLForResource:@"Info.plist" withExtension:nil];
NSDictionary * dict = [NSDictionary dictionaryWithContentsOfURL:infoPlistURL];
NSString * currentVersion = dict[(NSString*)kCFBundleVersionKey];
//將當前版本保存到UserDefault中
[[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:UserDefaultBundleVerson];


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开阳县| 铅山县| 新泰市| 淳化县| 金乡县| 五寨县| 吉安县| 伊川县| 蚌埠市| 常州市| 平遥县| 阿拉善盟| 汝南县| 永春县| 海晏县| 平远县| 肥东县| 西乌| 武陟县| 施秉县| 舒城县| 浦北县| 临沭县| 措勤县| 车险| 台山市| 武邑县| 苏尼特右旗| 禹城市| 新乡市| 文水县| 沂南县| 苗栗县| 花莲县| 阳城县| 绩溪县| 容城县| 孝义市| 共和县| 普宁市| 西充县|