亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

iOS 數據持久性存儲--屬性列表存儲

發布時間:2020-06-13 00:48:15 來源:網絡 閱讀:233 作者:新風作浪 欄目:移動開發


iOS上常用四種數據存取方法有:

屬性列表

對象歸檔

iOS的嵌入式關系數據庫(SQLite3)

蘋果公司提供持久性共聚Core Data


它們的應用程序都有自己的/Documents文件夾,各自的應用程序只能讀寫自己的/Documents目錄內容


1.創建一個新工程叫PersistenceDemo; File->New->Project ->single View Application -> next

iOS 數據持久性存儲--屬性列表存儲

2.在PersistenceViewController.h文件聲明輸出口和和實例方法

#import <UIKit/UIKit.h>  @interface PersistenceViewController : UIViewController  @property (weak, nonatomic) IBOutlet UITextField *field1; @property (weak, nonatomic) IBOutlet UITextField *field2; @property (weak, nonatomic) IBOutlet UITextField *field3; @property (weak, nonatomic) IBOutlet UITextField *field4;  -(NSString *)dataFilePath; -(void)applicationWillResignActive:(NSNotification *)notification;  @end

3.打開PersistenceViewController.xib文件拖4個laibel靜態標簽和4個TextField,然后和輸出口關聯(右鍵Fiel‘s Owner 拖到TextField上松開)

iOS 數據持久性存儲--屬性列表存儲 iOS 數據持久性存儲--屬性列表存儲iOS 數據持久性存儲--屬性列表存儲

4.在對應的.m文件中

dataFilePath將kFileName串聯到Documents目錄的路徑,以創建并返回數據文件的完整路徑名

-(NSString *)dataFilePath {     /*常量NSDocumentDirectory表明我們正在查找Documents目錄路徑,第二個常量NSUserDomainMask表示的是把搜索范圍定在應用程序沙盒中,YES表示的是希望希望該函數能查看用戶主目錄*/          NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //  數組索引0處Documentd目錄,       NSString *documentDirectory = [paths objectAtIndex:0]; //    返回一個kFileName的完整路徑     return [documentDirectory stringByAppendingPathComponent:kFileName]; }


- (void)viewDidLoad {     [super viewDidLoad]; //  檢查數據文件是否存在,不存在則不加載       NSString *filePath = [self dataFilePath];     if ([[NSFileManager defaultManager]fileExistsAtPath:filePath]) {         NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];                  field1.text = [array objectAtIndex:0];         field2.text = [array objectAtIndex:1];         field3.text = [array objectAtIndex:2];         field4.text = [array objectAtIndex:3];     } //    注冊一個通知,按下home鍵,執行applicationWillResignActive:方法     UIApplication *app = [UIApplication sharedApplication];     [[NSNotificationCenter defaultCenter]addObserver:self                                             selector:@selector(applicationWillResignActive:)                                                 name:UIApplicationWillTerminateNotification                                               object:app];      	 }


所有通知都接受一個NSNotification的參數
//當按下home鍵的時候調用這個方法 -(void)applicationWillResignActive:(NSNotification *)notification {     NSMutableArray *array = [[NSMutableArray alloc] init];     [array addObject:field1.text];     [array addObject:field2.text];     [array addObject:field3.text];     [array addObject:field4.text]; //    將TextField中數據寫入到屬性表之中     [array writeToFile:[self dataFilePath] atomically:YES]; }

5.NSNotification 和 NSNotificationCenter

Notification對象非常簡單. 它就是poster要提供給observer的信息包裹. notification對象有兩個重要的成員變量: name 和 object. 一般object都是指向poster(為了讓observer在接受到notification時可以回調到poster)
所以,notification有兩個方法
    - (NSString *)name
    - (id)object
NSNotificaitonCernter是架構的大腦了.它允許我們注冊observer對象, 發送notification, 撤銷observer對象注冊
下面是它的一些常用方法
+ (NSNotificationCenter *)defaultCenter
返回notification center [類方法,返回全局對象, 單件模式.cocoa的很多的全局對象都是通過類似方法實現]

- (void)addObserver:(id)anObserver
           selector:(SEL)aSelector
               name:(NSString *)notificationName
             object:(id)anObject

注冊anObserver對象:接受名字為notificationName, 發送者為anObject的notification. 當anObject發送名字為notificationName的notification時, 將會調用anObserver的aSelector方法,參數為該notification. 如果notificationName為nil. 那么notification center將anObject發送的所有notification轉發給observer
. 如果anObject為nil.那么notification center將所有名字為notificationName的notification轉發給observer

- (void)postNotification:(NSNotification *)notification
發送notification至notification center
- (void)postNotificationName:(NSString *)aName
                      object:(id)anObject

創建并發送一個notification
- (void)removeObserver:(id)observer
移除observer

引用 http://blog.csdn.net/zhanglei5415/article/details/6454940




源代碼:http://download.csdn.net/detail/duxinfeng2010/4445711






向AI問一下細節

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

AI

大同市| 九台市| 昔阳县| 治多县| 嵊州市| 沙湾县| 株洲县| 惠东县| 嘉兴市| 万荣县| 临武县| 闻喜县| 郎溪县| 繁峙县| 沂南县| 页游| 泗洪县| 福贡县| 永吉县| 岳西县| 开平市| 红河县| 北辰区| 法库县| 盖州市| 交城县| 昌黎县| 滦南县| 弥勒县| 永仁县| 酒泉市| 宾阳县| 东乌珠穆沁旗| 崇左市| 汪清县| 克山县| 左贡县| 大足县| 辽宁省| 策勒县| 龙游县|