不然每次叫使用者重新輸入應該會崩潰吧?!
--------------------------------------------------------------------------------------------------------------------------
正文開始:
Step1:
先到.h檔 (看是appdelegate.h or ViewController.h)
宣告一個NSUserDefaults屬性的變數
//
// AppDelegate.h
//
// Created by daniel on 2015/4/29.
// Copyright (c) 2015年 daniel. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "AsyncUdpSocket.h"
#define global ((AppDelegate *)[[UIApplication sharedApplication] delegate])
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
NSUserDefaults *userDefaults;
}
這樣我們就可以在.m file內使用該變數(userDefaults)
Step2:
在.m file內的viewdidload()這裡面(反正就是第一個讀到的地方)
先初始化我們的userDefaults,這一部很重要!!沒有初始化會叫不出儲存的東西!!
初始化:userDefaults = [NSUserDefaults standardUserDefaults];
接下來就是儲存/讀取
儲存:
NSString *string = @"192.168.0.1";
[userDefaults setObject:string forKey:@"store IP"];
NSArray *array = @[@"123",@"456"];
[userDefaults setObject:array forKey:@"Array"];
BOOL isValid = YES;
[userDefaults setBool: isValid forKey:@"isValid"];
int number = 100;
[userDefaults setInteger:number forKey:@"number"];
可以看到上述四種不同的類型(nsstring,nsarray,BOOL,int)
大致上都是一樣的,差別只是在於setXXX(類型)
格式:(儲存)
[NSUserDefaults型態變數 setObject(或其他型態): 變數名稱 forKey: @"隨意取key 名稱"]
格式:(讀取)
[NSUserDefaults型態變數 stringforKey: @"隨意取key 名稱"]
(或是valueforKey:)
範例:NSString *store_ip = [userDefaults stringForKey:@"store IP"];
*****非常重要*****
在儲存完畢以後,要記得!!
[NSUserDefaults型態變數 synchronize];
如果沒有這行,就不會真正儲存到硬碟裡面!
完成以後,就可以透過這樣的方式來儲存使用者設定了:)
END