iOS 는 NSUserDefaults 를 사용 하여 사용자 정의 대상 을 저장 합 니 다.

원리: 사용자 정의 대상 을 data 로 압축 한 후 NSUserDefaults 를 이용 하여 로 컬 에 기록 합 니 다.
저장 대상
1. 압축 파일 대상
NSCoding 프로 토 콜 이 필요 합 니 다. 참고 하 십시오.http://www.jianshu.com/p/02da153d3583 Model 클래스 계승 가능
    //  ,       Model      NSCoding     
     Student *student = [[Student alloc] init];
    //       student    name , studentNumber ,sex    
    student.name = @"   ";
    student.studentNumber = @"2313213";
    student.sex = @" ";
 NSData *data = [NSKeyedArchiver archivedDataWithRootObject:student];  

2. 대상 을 로 컬 에 쓰기
NSUserDefaults 또는 봉 인 된 HXBSaveTool 클래스 (http://www.jianshu.com/p/ac273e44bd7c 코드 설명) 방법 1 = = NSUserDefaults
  NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
    [user setObject:data forKey:@"oneStudent"];
//     
    [user synchronize];

방법 2 = = HXBSaveTool 분류
 [HXBSaveTool  setObject:data forKey:@"oneStudent"];

2. 추출 대상
1. 로 컬 에 저 장 된 data 꺼 내기
NSUserDefaults 또는 봉 인 된 HXBSaveTool 클래스 (http://www.jianshu.com/p/ac273e44bd7c 코드 설명) 방법 1 = = NSUserDefaults
  NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
   NSData *data = [user objectForKey:@"oneStudent"];

방법 2 = = HXBSaveTool 분류
 NSData *data = [HXBSaveTool  objecForKey:@"oneStudent"];

2. data 파일 을 대상 으로
Student *student = [NSKeyedUnarchiver unarchiveObjectWithData:data];

3. 배열 사용자 정의 대상 저장
대상 배열 을 로 컬 대상 에 저장 하여 NSCoding 프로 토 콜 을 실현 하려 면 코드 는 다음 과 같 습 니 다.
//    
            NSData *data = [HXBSaveTool valueForKey:kRecorde];
            NSMutableArray *dataArr;
            if (data) {
                dataArr = [NSKeyedUnarchiver unarchiveObjectWithData:data];
            }else{
                dataArr = [NSMutableArray array];
            }
            OpenRecordeModel *recorde = [OpenRecordeModel new];
            recorde.pid = model.pid;
            recorde.tel = [HXBSaveTool valueForKey:kUserPhone];
            recorde.crjldate = [formatter stringFromDate:[NSDate date]];
            [dataArr addObject:recorde];
            [HXBSaveTool setValue:[NSKeyedArchiver archivedDataWithRootObject:dataArr] forKey:kRecorde];

취 배열 대상
_dataArr = [NSKeyedUnarchiver unarchiveObjectWithData:[HXBSaveTool valueForKey:kRecorde]];

좋은 웹페이지 즐겨찾기