Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Небольшие вопросы по основам использования Sqlite, Sqlite, Storyboard в приложении для ipad 
:(
    Опции темы
duceum
Дата 1.4.2012, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.4.2012

Репутация: нет
Всего: нет



Здравствуйте! Появилась идея сделать небольшую игру обучающую игру для младшего брата. И в процессе разработки возникло несколько вопросов:
1) В приложении я решил использовать sqlite базу данных, как работать с ней я разобрался, но не понятно где она будет храниться - в папке документы пользователя в файловой системе, или отдельно, в самой папке приложения? А также как будет происходить загрузка файла базы данных? Можно будет предварительно заполнить её самому, перед загрузкой приложения в Appstore, чтобы приложение устанавливалось уже с заполненной базой?

2) Можно сделать чтобы в приложении использовалось 4 storyboards, и каждый из них управлялся своим контроллером? А то не хочется делать один storyboard и один огромный контроллер.

Заранее спасибо за помощь. 
PM MAIL   Вверх
Bitter
Дата 2.4.2012, 12:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 10
Всего: 27



1. Чтобы распространять программу с заполненной базой, подключите файл к проекту. Тем самым Вы положите его в папку проекта (бандл), если вам нужно его редактировать и дополнять, то при первом запуске скопируйте файл базы в папку Documents или Library/Caches и пользуйте оттуда.
Если Вы разобрались как работать с базой, почему спрашиваете как будет происходить загрузка? Чтобы работать с базой ее нужно открыть примерно так
Код

    NSString *filename = @"Database.sqlite";
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *pathDB = [documentsDirectory stringByAppendingPathComponent:filename];

    if (sqlite3_open([pathDB UTF8String], &dataBase) == SQLITE_OK) {
        // База открыта для работы
    }


2. Вы видимо не понимаете что такое сторибоард. Сторибоард не управляется контроллерами, а наоборот - интерфейс контроллеров описывается в сторибоарде.  Фраза "каждый из них управлялся своим контроллером" абсолютно бессмысленна, так как Вы загружаете нужный Вам контроллер в нужное время ИЗ сторибоарда. Это значит, что вы можете описать интерфейс и его поведение всего Вашего приложение в одном месте, и создать столько контроллеров сколько вам нужно. Зачем Вам несколько сторибоардов, если для этого есть XIB? 
В общем идея такая - для того чтобы было наглядное представление как работает программа, и как выглядит ее интерфейс во всех частях (чтобы окинуть все одним взглядом) - придумали сторибоард. Он никак не зависит от контроллеров, но может их создавать для Вас по вашему требованию.
Но тем не менее, сделать несколько сторибоардов можно, и иногда даже нужно. Например когда Вам нужно описать поведение независимой (от основной логики) части приложения. Для этого Вы можете просто создать новый сторибоард через Файл/Нью, но в проекте все равно указывается какой сторибоард считать главным (Main storyboard)
PM MAIL ICQ Skype   Вверх
duceum
Дата 4.4.2012, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.4.2012

Репутация: нет
Всего: нет



Большое спасибо за ответ!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | iOS | Следующая тема »


 




[ Время генерации скрипта: 0.3736 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.