NSKeyedArchiver / NSKeyedUNArchiver

NSKeyedArchiver : NSMutableArray / NSArray / NSMutableDictionary / NSDictionary  등을 그 자체로 파일화 하여 저장하는 메소드이다.

NSKeyedUnArchiver : NSKeyedArchiver로 저장된 데이터를 그대로 다시 불러오는 메소드이다.



아래의 메소드는 NSMutableArray를 저장하는 예이다.


[조건]과 [수신할 데이터], [저장할 데이터]에 알맞는 데이터를 넣을 경우 조건에 따라 저장과 불러오기가 결정된다.




    if ([조건])

    {        

        NSFileManager *fileMgr;

        NSString *docsDir;

        NSArray *dirPaths;

        

        fileMgr = [NSFileManager defaultManager];

        

        dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        

        docsDir = [dirPaths objectAtIndex:0];

        

        NSString *dataFilePath = [[NSString alloc] initWithString:[docsDir stringByAppendingPathComponent:@"a2.archive"]];

        

        

        [수신할 데이터] = [[NSKeyedUnarchiver unarchiveObjectWithFile:dataFilePath] mutableCopy];

    }

    else

    {

        NSFileManager *fileMgr;

        NSString *docsDir;

        NSArray *dirPaths;

        

        fileMgr = [NSFileManager defaultManager];

        

        dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        

        docsDir = [dirPaths objectAtIndex:0];

        

        NSString *dataFilePath = [[NSString alloc] initWithString:[docsDir stringByAppendingPathComponent:@"a2.archive"]];

        

        

        [NSKeyedArchiver archiveRootObject:[저장할 데이터] toFile:dataFilePath];

    }

이 글을 공유하기


댓글(0)

Designed by CMSFactory.NET