2011-01-12 3 views
0

저는 iPhone 용 RSS 리더를 만들려고합니다. 먼저 NSDictionary를 묶는 plist를 만듭니다. 하지만 내 appDelegate (didFinishLaunchingWithOptions :)에서 plist를 만들 때 루트 요소는 NSDictionary이지만 NSArray가 다른 요소를 보유하기를 원합니다.plist를 루트 요소로 초기화하십시오.

if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { 
    [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil]; 
} 

filePath 변수는 문서 폴더의 경로입니다. plist를 작성하는 코드가 정상적으로 실행 중입니다.

답변

0
0

ALLOC NSMutableArray, 다음 [NSMutableArray addObject:dictionary을 사용하여 사전을 추가하십시오.

영구 저장 장치 (파일)에 대한 사전을 사용하여 배열을 쓸 때 어떤 시점에 비어 있지만 빈 파일을 먼저 쓸 필요는 없습니다. 배경을 입력하거나 앱을 종료하기 전에 파일을 업데이트하십시오.

+0

View Controller에서 UIApplicationWillTerminateNotification을 받으면 배열을 작성합니다. –

+0

사용자가 appWillResignActive에서 추가 기록을 시작하는 것을 고려할 수 있습니다. 사용자가 앱을 백그라운드에 놓고 백그라운드에서 중지 할 수 있기 때문입니다. 이 경우 UIApplicationWillTerminateNotification 만 사용하면 최신 데이터가 기록되지 않습니다. – Olaf

+0

아 감사합니다! 나는 당신이 저에게 말했듯이, 그 알림을받을 때 배열을 쓸 것입니다. –

관련 문제