Вопрос заключается в том, что собираюсь писать методичку для организации и соответственно будет много глав и текста. Т.е. будет таблица с главами и картинками, выбираем интересующую и получаем полную статью. Как и где собственно хранить текст для статей и картинки к ним. Какие есть грамотные решения?
Приложение оффлайн и необходимо чтобы после первого запуска вся нужна информация встала по своим местам. Картинки как понимаю нужно хранить в FileManager, вместо Assets и вытаскивать их оттуда? Или же нет абсолютно никакой разницы, если таблица большая откуда брать картинки? Просто при скройлинге заметны задержки, связано опять-таки это с тем, что картинки берутся из Assets или разницы нет?
А зачем - приложение? Если позарез надо оффлайн (хотя и странно это для iOS) - сверстайте PDF под предполагаемый формат экрана, и iBooks с ним прекрасно справится.
Aleksandr Govorukhin, приветствую. Подскажите пожалуйста, как вы решили этот вопрос? просто задался такой же целью, приложение (много текста и картинок). Как сделать приложение в оффлайне? пожалуйста помогите!))) (сам в программировании не силен, только месяц как начал обучение)
если картинки все одного разрешения, то особой разницы нет, должно одинаково работать что в асетах, что просто в папке. с этим проще разобраться экспериментальным путем (сделать 2 таблицы с каждым вариантом и сравнить).
если же картинки разных разрешений (@2x/@3x/etc), то только асеты:
1. с ними проще управляться в проекте
2. при установке приложения на устройство будут загружены только картинки с разрешением под устройство юзера, а не все.
Ну, картинки это визуализация тех или иных событий, размеры все разные, буду знать что разницы особой нет, но все же проэкспериментировать стоит. Зависания я заметил при скройлинге и в тот момент, когда идет подгрузка изображения, вот и было интересно.
Так что по поводу хранения текста? Можно ли создать класс и потом тупо использовать экземпляр класса с массивами строк?
Например так:
А после уже работать? Просто это очень удобно когда переходишь по главам и нужно передать какие-то данные другому контроллеру. Либо так никто абсолютно не делает и есть какой то более грамотный выход?
Aleksandr Govorukhin, я кагбе пишу не про размеры картинки, а про разные варианты одной и той же картинки под разную плотность пикселей на устройстве у юзера. и если у вас такое используется, то применять нужно ассеты.
если у вас все картинки тупо в одном варианте, то без разницы где хранить, можно просто в папке.
а с текстом все зависит от его назначения. если нужно его только выводить, то можно и захардкодить. если с ним надо работать (редактировать/искать/фильтровать/etc), то лучше пользовать базу. например, sqlite напрямую или нативный core data.
Aleksandr Govorukhin, Честно говоря в CoreData я не очень. Фанат чистого Sqlite + FMDB Плюс пользователю информацию менять не нужно, подойдет идеально. https://github.com/ccgus/fmdb
Делаете простую базу данных, туда же, включаете названия картинок, которые потом запихаете в asset. Есть несколько классов которые оттуда достают, все. У меня есть офлайновое приложение с базой данных из более чем 10 таблиц и 130 000 строк все работает быстро, включая поиск.
Aleksandr Govorukhin, В само приложение кладется файл БД уже со всей информацией, не нужно ничего из plist заполнять. Файл готовите отдельно, как вам удобно.
1. windows help fie?
2. набор документов на чистом html/JS (без бэкенда) - развернул в папку, сделал ссылку на index файл. И кроссплатформенно вдобавок и легко ставится на сетевой диск или веб сервер.