美文网首页
13-1 iOS 数据持久化

13-1 iOS 数据持久化

作者: Rumbles | 来源:发表于2019-06-06 09:47 被阅读0次

1. writeToFile

    指可以普通的数组 字典
    NSString *path =[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
    NSString *personsArrPath = [path stringByAppendingString:@"/personsArr.plist"];
    BOOL iswriteSucess = [@[@"222"] writeToFile:personsArrPath atomically:YES];
    NSLog(@"writeToFile  %d",iswriteSucess);
    
    NSArray *fileArr = [NSArray arrayWithContentsOfFile:personsArrPath];
    NSLog(@"fileArr: %@",fileArr);

2. 归档反归档

    NSString *filename = [path stringByAppendingPathComponent:@"downloadModelArray"];
    BOOL isarchiveSucess = [NSKeyedArchiver archiveRootObject:_dataArr toFile:filename];
    NSLog(@"archive  %d",isarchiveSucess);
    
    NSArray *archiveArr = [NSKeyedUnarchiver unarchiveObjectWithFile:filename];
    NSLog(@"archiveArr: %@",archiveArr);

归档反归档需要遵循<NSCoding> 协议。NSString  本身遵循这个协议
- (void)encodeWithCoder:(NSCoder *)aCoder {
    [aCoder encodeObject:self.title forKey:@"title"];
    [aCoder encodeObject:self.downloadStr forKey:@"downloadStr"];
    [aCoder encodeObject:self.downloadedStr forKey:@"downloadedStr"];
    [aCoder encodeObject:self.imageName forKey:@"imageName"];
    [aCoder encodeInteger:self.downloadState forKey:@"downloadState"];

}

- (id)initWithCoder:(NSCoder *)aDecoder {
    self = [super init];
    if (self)
    {
        self.title = [aDecoder decodeObjectForKey:@"title"];
        self.downloadStr = [aDecoder decodeObjectForKey:@"downloadStr"];
        self.downloadedStr = [aDecoder decodeObjectForKey:@"downloadedStr"];
        self.imageName = [aDecoder decodeObjectForKey:@"imageName"];
        self.downloadState = [aDecoder decodeIntegerForKey:@"downloadState"];
    }
    return self;
}

3. NSUserDefaults

+ (void)savePhoneNumber:(NSString *)phoneNumber {
    [[NSUserDefaults standardUserDefaults] setObject:phoneNumber forKey:phoneNumberKey];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
+ (NSString *)getPhoneNumber {
   return [[NSUserDefaults standardUserDefaults] objectForKey:phoneNumberKey];
}

4. Core Data

5. SQLite3 FMDB Realm[简单 也是基于数据库]

相关文章

  • iOS本地数据持久化

    iOS本地数据持久化 iOS本地数据持久化

  • 13-1 iOS 数据持久化

    1. writeToFile 2. 归档反归档 3. NSUserDefaults 4. Core Data 5....

  • iOS本地数据持久化

    转载自:CocoaChina - iOS本地数据持久化 本文内容:iOS本地数据持久化的几种类型iOS本地数据持久...

  • iOS 数据持久化方案-Realm的使用

    iOS 数据持久化方案-Realm的使用 iOS 数据持久化方案-Realm的使用

  • iOS本地数据持久化

    本文内容: iOS本地数据持久化的几种类型 iOS本地数据持久化几种类型的应用场景及使用 一.iOS本地数据持久化...

  • iOS 数据持久化

    iOS本地数据持久化 本文内容:iOS本地数据持久化的几种类型iOS本地数据持久化几种类型的应用场景及使用 一.i...

  • iOS本地数据持久化

    本文内容:iOS本地数据持久化的几种类型iOS本地数据持久化几种类型的应用场景及使用 一,iOS本地数据持久化的类...

  • ios数据持久化

    本文内容:iOS本地数据持久化的几种类型iOS本地数据持久化几种类型的应用场景及使用 一.iOS本地数据持久化的类...

  • iOS Realm数据持久化--Realm集合分页(四)

    iOS Realm数据持久化--Realm基础知识 (一)iOS Realm数据持久化--数据分页与复用原理 (二...

  • iOS | 面试- 数据持久化

    iOS | 面试知识整理 - 数据持久化(八) 1. iOS中数据持久化方案有哪些? NSUserDefault简...

网友评论

      本文标题:13-1 iOS 数据持久化

      本文链接:https://www.haomeiwen.com/subject/qtjuzqtx.html