Запрос к базе данных с использованием какао - PullRequest
1 голос
/ 10 мая 2010

Прежде чем я начну отказ от ответственности, я должен добавить небольшой отказ от ответственности, что я относительно новичок в разработке Какао и C в целом.

Однако у меня есть копия «Какао-программирование для Mac OS X 3-е издание» Аарона Хиллегаса, которую я работаю и использую в качестве основы, если у кого-то есть копия, я использую пример «AmaZone» на странице 346 как шаблон и база.


Я пытаюсь разработать небольшое клиентское приложение, которое принимает строку поиска, а затем отображает результаты из базы данных соответственно.

База данных будет содержать: список файлов, их расположение, описание и дату создания, поэтому на данный момент номер поля и типы останутся неизменными.


Посмотрев вокруг на SO, я увидел что-то вроде:

NSURL *myURL = [NSURL URLWithString:@"http://www.myserver.com/results.php"];
NSArray *sqlResults = [[NSArray alloc] initWithContentsOfURL:myURL];

Я работал с php раньше, поэтому теперь я думаю о том, чтобы создать скрипт php на сервере, который запрашивает базу данных и создает вывод XML.

А с ответом XML просто разберите его.

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

Я знаю, что есть некоторые комплекты баз данных, я взглянул на BaseTen для Postgres, но, будучи относительно новым для этого, не хотел разбираться со мной.

Или, если у кого-то еще есть какие-либо предложения и идеи, они будут очень признательны.

1 Ответ

2 голосов
/ 10 мая 2010

Если ваша база данных находится на сервере, то это разумный подход, и именно это Apple делает с iTunes (только по достаточно веским причинам они используют WebObjects, а не php).

Если база данных находится на вашем компьютере Mac OS X, вам следует взглянуть на CoreData (также в книге Аарона, в другой главе).

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

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