(void) loadDataFromDisk
{
NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:[self pathToDataFile]];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
_cells = [[unarchiver decodeObjectForKey:@"Board"] retain];
[unarchiver release];
[data release];
}
(void) saveDataToDisk
{
NSMutableData *data = [NSMutableData alloc];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:_cells forKey:@"Board"];
[archiver finishEncoding];
[data writeToFile:[self pathToDataFile] atomically:YES];
//[array release];
[data release];
//NSMutableData
}
(BOOL)gameDataExists
{
return [[NSFileManager defaultManager] fileExistsAtPath:[self pathToDataFile]];
}
(NSString *)pathToDataFile
{
NSString *path = [[NSBundle mainBundle] bundlePath];
return [path stringByAppendingPathComponent: GAME_DAT];
}
위의 코드는 시뮬레이터에 근무하지만 파일이 내가 종료하고 내 응용 프로그램을 다시로드 후 발견 될 수없는 것 같다 device.it에 실패 . 나는이 같은 pathToDataFile을 구현하는 경우 는 그리고 :가 저장하고로드 파일의 코드는 아이폰 시뮬레이터에서 작동하지만 장치에 실패하는 이유
(NSString *)pathToDataFile
{
NSArray * path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *docDir = [path objectAtIndex:0];
return [docDir stringByAppendingPathComponent:GAME_DAT];
}
파일 저장 장치에 일을 다시로드하지만 난 [자체 setNeedsDisplay]를 호출 한 후에 내가 내보기에 구현의 drawRect 방법은 호출 할 수 없습니다.
크리스 는
고마워,하지만 내 문제는 내가 pathToDataFile 함수를 변경하면 내보기를 제대로 표시 할 수 없습니다, 내가 쓰는 drawRect 함수로 실행할 수 없습니다. – cgha