2009-07-23 7 views
0

Итак, у меня есть куча HTML, хранящаяся в базе данных SQLite, и они соединяются между собой. Когда пользователь нажимает на ссылку, этот запрос необходимо обслуживать, вытаскивая соответствующий HTML из базы данных. Это может привести к необходимости загружать изображения, которые также хранятся в базе данных (это будущее, пока нет изображений, но я бы хотел их использовать). Я просмотрел документацию WebKit, но не могу понять, как это сделать. Я в основном смотрел WebFrameLoadDelegate и WebResourceLoadDelegate, но я не видел того, что позволило бы мне поймать запрос, захватить соответствующий контент и затем отправить его в ответ.Как загрузить HTML-код для загрузки в WebView (или WebFrame) из локального постоянного хранилища?

Идеи? Я довольно новичок в Objective-C и Cocoa, но я думаю, что я в основном разбираюсь в вещах.

ответ

2

Как страницы, которые хранятся в базе данных, связаны друг с другом? Это, вероятно, проще всего, если они используют какую-то схему URL-адресов клиентов для начала.

Подход, который я хотел бы использовать это реализовать

-webView:resource:willSendRequest:redirectResponse:fromDataSource:

в делегата нагрузки ресурса. Если запрос на ресурс, который фактически находится в базе данных, возвращать новый [1] NSURLRequest, который использует протокол пользовательских URL, который указывает на ресурс базы данных:

x-my-scheme:///table/row

[1] Если не вы уже связываете свои ресурсы с пользовательской схемой URL-адресов, и вы можете пропустить этот шаг.

Затем выполните пользовательский NSURLProtocol для x-my-scheme, который знает, как получить данные из базы данных. Образец PictureBrowser дает простой пример того, как это делается.

+0

Спасибо! Я посмотрел на пример PictureBrowswer, и я думаю, что понимаю, что он делает. –

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

  • Нет связанных вопросов^_^