你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 讀書筆記——IOS之Web開發

讀書筆記——IOS之Web開發

編輯:IOS開發綜合

Web開發

 

主要的請求方法

Get請求:數據以明文在URL中,數據量小 Post請求:數據大小沒有限制 HEAD請求:請求頭信息

程序的實現需要借助幾個對象:

NSURLRequest:建立了一個請求,可以指定緩存策略、超時時間。和NSURLRequest對應的還有一個NSMutableURLRequest,如果請求定義為NSMutableURLRequest則可以指定請求方法(GET或POST)等信息。

NSURLConnection:用於發送請求,可以指定請求和代理。當前調用NSURLConnection的start方法後開始發送異步請求。

文件的下載方法

Get和POST都是不行的,正確的做法是這樣的:
要分段下載,每次請求下載的范圍,服務根據范圍響應這部分的數據,對於文件大小信息如何獲取呢?采用HEAD請求拿到。

NSURLSession

NSURLConnection的改良對象。
類圖

UIWebview 浏覽器控件

IOS操作頁面:webViewDidFinishLoad:代理方法中通過stringByEvaluatingJavaScriptFromString: 方法可以操作頁面中的元素,例如在下面的方法中讀取了頁面標題、修改了其中的內容。(通過JS) 頁面中調用Object-C: 當需要進行一個js操作時讓頁面進行一個重定向,並且在重定向過程中傳入一系列參數。在UIWebView的代理方法中有一個webView: shouldStartLoadWithRequest:navigationType方法,這個方法會在頁面加載前執行,這樣可以在這裡攔截重定向,並且獲取定向URL中的參數,根據這些參數約定一個方法去執行。(也就是把重定向過程攔下來,然後獲取請求的參數)

網絡狀態檢測

使用AFNetworking框架檢測,發送一個URL然後去檢測網絡狀態變化,網絡改變後則調用相應的網絡狀態改變方法。

#pragma mark 網絡狀態監測-(**void**)checkNetworkStatus{
    //創建一個用於測試的url
    NSURL *url=[NSURL URLWithString:@http://www.apple.com];
    AFHTTPRequestOperationManager *operationManager=[[AFHTTPRequestOperationManager alloc]initWithBaseURL:url];
    //根據不同的網絡狀態改變去做相應處理
    [operationManager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        **switch** (status) {
            **case** AFNetworkReachabilityStatusReachableViaWWAN:
                [**self** alert:@2G/3G/4G Connection.];
                **break**;
            **case** AFNetworkReachabilityStatusReachableViaWiFi:
                [**self** alert:@WiFi Connection.];
                **break**;
            **case** AFNetworkReachabilityStatusNotReachable:
                [**self** alert:@Network not found.];
                **break**;
            **default**:
                [**self** alert:@Unknown.];
                **break**;
        }
    }];
    //開始監控
    [operationManager.reachabilityManager startMonitoring];}
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved