1
이것은 시뮬레이터에서 제대로 작동하는 것으로 보이지만 파일은 쓰여지지 않습니다.은 archiveRootObject가 파일을 쓰지 못하는 이유를 알아낼 수 없습니다.
여기 코드가 있습니다. D 당신은 대신를 사용한다
:
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
이, 당신에게 기본 문서 디렉토리를 제공 한 다음에 문자열을 추가합니다
-(void)saveOld{
NSArray *saveState = [NSArray arrayWithObjects:headArray,dropQArray,[NSNumber numberWithInt:dropLimit],[NSNumber numberWithInt:dropCount],[NSNumber numberWithInt:score],[NSNumber numberWithInt:level],[NSNumber numberWithInt:maxChain],nil];
NSMutableString *path = [[NSHomeDirectory() mutableCopy]autorelease];
[path appendString:@"/saveState"];
BOOL saved = [NSKeyedArchiver archiveRootObject:saveState toFile:path];
NSLog(@"did save state %d",saved);
path = [[NSHomeDirectory() mutableCopy]autorelease];
[path appendString:@"/isSaveState"];
saved = [NSKeyedArchiver archiveRootObject:[NSNumber numberWithBool:1] toFile:path];
NSLog(@"did save state %d",saved);
}
주의 NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES)는 NSString이 아닌 Array를 반환합니다. – MartinMoizard