Разница заключается в реляционной алгебре, где проект влияет на столбцы, а выбор влияет на строки. Однако в синтаксисе запроса выберите слово. Нет такого запроса как проект. Предполагается, что есть таблица с именем users с сотнями тысяч записей (строк), и таблица имеет 6 полей (userID, Fname, Lname, age, pword, salary). Допустим, мы хотим ограничить доступ к конфиденциальным данным (userID, pword и salary), а также ограничить объем данных, к которым осуществляется доступ. В mysql maria DB мы создаем представление следующим образом (Создайте представление user1 как выберите Fname, Lname, age от users limit 100;) из нашего представления, которое мы выдаем (выберите Fname из users1;). Этот запрос является одновременно выбором и проектом
Интересно, я бы не подумал, что это будет так работать. Хотя я уверен, что есть и другие способы сделать это (есть ли способ извлечь URL-адрес из сообщения webViewDidFinishLoad, чтобы вы могли видеть, какая из них завершает загрузку главной страницы?), Главное, что я могу придумать, - это использовать оцениваемыйProgress, чтобы проверить прогресс страницы и запустить все, что вы хотите сделать, когда загрузка будет на 100% завершена, что я и делаю в своем приложении. Погуглите "iphone webview Estimatedprogress" и щелкните первую ссылку, чтобы получить руководство, которое я написал о том, как это сделать.
Обновление:
Пожалуйста, используйте ответ Phopkins ниже вместо моего! Использование частных API в ваших приложениях - плохая идея, и вы, вероятно, получите отказ, и его решение является правильным.
Я делаю это так:
- (void)webViewDidFinishLoad:(UIWebView *)webview {
if (webview.loading)
return;
// now really done loading code goes next
[logic]
}
Я предполагаю, что фреймы вызывают пару webViewDidStartLoad
/ webViewDidFinishLoad
.
Проверка [webView isLoading]
, упомянутая в качестве ответа, у меня не сработала; он вернул false
даже после первого из двух вызовов webViewDidFinishLoad
. Вместо этого я отслеживаю загрузку следующим образом:
- (void)webViewDidStartLoad:(UIWebView *)webView {
webViewLoads_++;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
webViewLoads_--;
if (webViewLoads_ > 0) {
return;
}
…
}
- (void)webView:(UIWebView*)webView didFailLoadWithError:(NSError*)error {
webViewLoads_--;
}
(Обратите внимание, что это будет работать, только если пары начало / конец не приходят последовательно, но, по моему опыту, пока этого не произошло.)
{{ 1}}