2015-02-16 7 views
0

У меня проблема с чтением файла строк, созданного динамически в каталоге документов моего приложения. В основном, я создаю и читать мой файл с помощью:NSBundle не загружает динамические ресурсы

[[NSFileManager defaultManager] createFileAtPath:filePath contents:fileData attributes:nil]; 
NSLog(@"%@", [targetBundle localizedStringForKey:@"MY_STRING" value:@"#" table:@"test"]); 

Файл создается в каталоге документов и targetBundle также указывает на этот каталог. Приведенный выше код работает очень хорошо, когда файл строк уже существует в каталоге документа при запуске приложения. Итак, если я удалю файл Strings из каталога документов, NSLog отобразит: #. Когда я снова запустил приложение (файл уже существует), NSLog отображает значение MY_LABEL.

Я предполагаю, что пакет загружает свои ресурсы один раз при запуске, но как я могу убедиться, что прочитал мой новый файл, даже если он только что был создан?

Спасибо за вашу помощь,

Джулиан

+1

Это может быть глупо, но поскольку пакет загружен в память ... вы попробовали перезагрузить комплект? Соблюдайте изменения, внесенные в файл (смотрите «FNSubscribe») и при необходимости перезагрузите комплект. – Pripyat

+0

Привет, спасибо за ответ. Я думаю, что решение касается перезагрузки моего пакета, но я не знаю, как его правильно перезагрузить. Что такое FnSubscribe? –

+0

Запись в файл может быть асинхронной, поэтому вы не получите изменений в следующей строке. – Crazyrems

ответ

0

я не нашел, как перезагрузить сверток, но я исправила эту проблему, создав пустой файл с тем же именем, до создания пучка. При этом пакет «знает» файл, и если файл динамически изменяется, содержимое обновляется (потому что файл читается во время выполнения).

+0

Это решение не работает во всех случаях. Я пытаюсь найти еще один ... –

Смежные вопросы