setObject doesn' t работают в одном из классов

Я пытаюсь сделать 'saveState' метод с внедрением (в blablabla.m):

-(void)saveState {
NSString *masterCode = [[NSString alloc] initWithString:first];
masterCode = [masterCode stringByAppendingString:second];
masterCode = [masterCode stringByAppendingString:third];
masterCode = [masterCode stringByAppendingString:fourth];
NSLog(@"master passcode - %@", masterCode);

NSString *plistPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"timeLimiterMasterCode.plist"];

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

if ([[NSFileManager defaultManager] fileExistsAtPath:plistPath]) {
    NSLog(@"file exists, %@", plistPath);
}

NSMutableDictionary *plistCode = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];

[plistCode setObject:masterCode forKey:@"MasterCode"];

NSLog(@"whole plist - %@", plistCode);

[plistCode writeToFile:plistPath atomically: YES];

NSLog(@"master passcode from file - %@", [plistCode objectForKey:@"MasterCode"]);

}

masterCode не nill в blablabla.h файле, я использую протокол UIApplicationDelegate, "файл существует", но прикладная прибыль: 2013-01-29 12:19:50.496 timeLimiter [916:907] целый plist - (пустой указатель) 2013-01-29 код-пароль владельца 12:19:50.500 timeLimiter [916:907] от файла - (пустой указатель)

Кроме того, в viewController (.m.h) я использую другой plist и метод записи и работу правильно.

Я нашел что [plistCode setObject:masterCode forKey: "MasterCode"] является холмом. Я попытался заменить 'masterCode' "тест", но это не сделало никакого смысла.

Вы могли решить мою проблему? Пожалуйста?

0
nl ja de
Ваш файл расположен во временном справочнике?
добавлено автор Exploring, источник
да, по данным NSTemporaryDirectory ():/private/var/mobile/Applications/DD7F0E82-5718-4E9A-8048-01F‌ ​ 16BDC7681/tmp/timeLi‌ ​ miterMasterCode.plis‌ ​ t
добавлено автор Dmitri Malyshev, источник

1 ответы

Я нашел решение, но не знаю объяснение. Решения состоят в том, чтобы заменить

NSMutableDictionary *plistCode = [NSMutableDictionary dictionaryсContentsOfFile:plistPath] 

с

NSMutableDictionary *newPlistCode = [[NSMutableDictionary alloc] init]. 

После того, как тот метод работает отлично! Благодаря init)

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.