웹 서버에서 json 파일을 받고 있습니다. JSON 파일을 사용하여 배열 및 사전으로 구문 분석하고받은 정보를 사용합니다. 하지만 당시에는 사전을 저장하려고하는데 파일을 쓰지 못했습니다. 내가 저장하려면 다음 코드를 사용하고iphone - NSDictionary를 파일에 쓰는 중 문제가 발생했습니다.
{
author = "<null>";
category = {
"created_at" = "2011-02-06T18:11:39Z";
id = 1;
name = animals;
};
"created_at" = "<null>";
id = 16;
"mobile_user_id" = "<null>";
"rating_count" = "4.33333333333333";
status = 1;
text = "A boy at a cinema notices what looks like a bear sitting next to him \"Are you a bear? \"\"Yes \"\"What are you doing at the movies? \"\"Well, I liked the book! \"";
title = "Various animal jokes";
}
: 나는 사전에 addJokeToFavorite를 호출하고있어
-(BOOL)savePlistFiles:(int)fileNumber
{
BOOL success = NO;
switch (fileNumber) {
case SAVE_FAVORITES_JOKES:
success = [self.favoriteJokes writeToFile:self.favSaveFilePath atomically:YES];
break;
case SAVE_RATED_JOKES:
success = [self.ratedJokes writeToFile:self.ratingSaveFilePath atomically:YES];
break;
default:
NSLog(@"Improper file to save");
success = NO;
break;
}
return success;
}
-(BOOL)addJokeToFavorite:(NSDictionary*)joke
{
NSLog(@"Joke: %@",joke);
BOOL success = NO;
[self.favoriteJokes addObject:joke];
for(NSDictionary* dict in self.favoriteJokes)
NSLog(@"%@", dict);
success = [self savePlistFiles:SAVE_FAVORITES_JOKES];
return success;
}
딕셔너리는 다음과 같은 형식을 갖습니다. addJokeToFavorite 메서드에서 self.favoriteJokes는 속성이며 유지됩니다. savePlistFiles 메소드는 항상 success = NO를 반환합니다. 나는 그 파일을 전혀 쓰지 않는 이유를 지적 할 수 없다. 또한 파일을 먼저 작성한 다음 작성하려고했습니다. 그것은 또한 작동하지 않았다. 또한 값이 여전히 출력이없는 키를 제거하려고했습니다.
나는 PLIST 파일을 만들려면 다음 코드를 사용하고 있습니다 :
NSFileManager* fm = [NSFileManager defaultManager];
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
self.favSaveFilePath = [documentsDirectory stringByAppendingPathComponent:@"Favorites.plist"];
실제로 NSArray를 plist 파일에 쓰는 것처럼 보입니다. self.favoriteJokes를 어떻게 초기화합니까? – Felix
속성 @property (nonatomic, retain) NSMutableArray * favoriteJokes를 만들었습니다. 그런 다음 favoriteJokes를 합성합니다. 구현 및 viewDidLoad, self.favoriteJokes 사용하고 있습니다 [NSMutableArray 배열]; – Satyam