Как лучше всего хранить строки в приложении iPhone? - PullRequest
0 голосов
/ 13 декабря 2010

Мне интересно, как лучше хранить длинные строки в iPhone? например В моем приложении есть страница с информацией о программе, которая представляет собой HTML-страницу, и я загружаю ее в UIWebView.

Есть ли лучший способ, чтобы хранить его отдельно от кода в виде строки? может быть в файле ресурсов?

Спасибо

Ответы [ 4 ]

3 голосов
/ 13 декабря 2010

Вы можете добавить HTML-файл непосредственно в качестве ресурса в вашем комплекте.Тогда, когда вы захотите его использовать, вы можете использовать следующий код

NSString* fileName = [[NSBundle mainBundle] fileForResource:@"myHtmlFile" withExtension:@"html"];
NSString* fileContents = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8Encoding error:nil];
[webView loadHTMLString:fileContents baseURL:baseURL];
2 голосов
/ 13 декабря 2010

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

0 голосов
/ 13 декабря 2010

Если строка никогда не изменится в течение срока службы приложения, вам следует использовать ресурс, упакованный в ваш пакет приложений.

Как упоминалось в предыдущих сообщениях, у вас есть несколько вариантов.Вы можете создать plist, файл HTML или любой другой тип файлового ресурса.

Хорошим преимуществом этих опций является то, что у вас есть возможность создавать локализованные версии.

Если строкаизменится при использовании приложения, вы можете также рассмотреть возможность сохранения значения строки в локальной базе данных с SQLite и CoreData.

0 голосов
/ 13 декабря 2010

Я сам этого не делал, но, полагаю, вы могли бы просто развернуть файл HTML с вашим пакетом (просто добавить его в качестве ресурса в ваш проект) и указать на него UIWebView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...