macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

NSURLRequestクラス

MacOS

継承 NSObject
準拠 NSCoding
NSCopying
NSMutableCopying
NSObject (NSObject)
フレームワーク /System/Library/Frameworks/Foundation.framework
使用可能 Mac OS X v10.2 (Safari 1.0がインストール) 以降
または Mac OS X v10.2.7 以降
定義 NSURLRequest.h

iOS

継承 NSObject
準拠 NSCoding
NSCoding
NSCopying
NSMutableCopying
NSObject (NSObject)
フレームワーク /System/Library/Frameworks/Foundation.framework
使用可能 iPhone OS 2.0 以降
定義 NSURLRequest.h

解説

概要

本クラスについて

URLの読み込み要求のためのクラスです。URLの読み込みとキャッシュポリシーといった二つの要素をカプセル化します。

変更可能なサブクラスはNSMutableURLRequestです。

リクエストの作成

URLからURLリクエストオブジェクトを作成するには(+ requestWithURL:)メソッドを使用します。allocで作成した後、URLリクエストオブジェクトを初期化するには(– initWithURL:)メソッドを使用します。

キャッシュポリシーとインターバルのオプションを指定できるメソッドもあります。(+ requestWithURL:cachePolicy:timeoutInterval:)(– initWithURL:cachePolicy:timeoutInterval:)。

キャッシュポリシー
NSURLRequestUseProtocolCachePolicy キャッシュを使います。
NSURLRequestReloadIgnoringLocalCacheData 元のソースからロードされます。
NSURLRequestReturnCacheDataElseLoad 存在するキャッシュが無ければ元のソースからロードされます。
NSURLRequestReturnCacheDataDontLoad 存在するキャッシュが無ければロードは行われず、失敗したと見なされます。

ネットワークサービスポリシー
NSURLNetworkServiceTypeDefault 通常のトラフィック
NSURLNetworkServiceTypeVoIP VoIPトラフィック
NSURLNetworkServiceTypeVideo ビデオトラフィック
NSURLNetworkServiceTypeBackground バックグラウンドトラフィック
NSURLNetworkServiceTypeVoice: 音声用トラフィック

リクエスト属性の取得

リクエストのURLを取得するには(– URL)メソッドを使用します。
ネットワークサービスタイプを取得するには(– networkServiceType)メソッドを使用します。
キャッシュポリシーを取得するには(– cachePolicy)メソッドを使用します。
タイムアウトまでの時間間隔を取得するには(– timeoutInterval)メソッドを使用します。デフォルトは60秒です。メインドキュメントのURLを取得するには(– mainDocumentURL)メソッドを使用します。

レスポンスオブジェクトがデータ送信を継続するかどうかを取得するには(– HTTPShouldUsePipelining)メソッドを使用します。データを送信し続ける場合はYES、そうでなければNOが返されます。

HTTPリクエスト属性の取得

レシーバのすべてのHTTPヘッダフィールド情報を取得するには(– allHTTPHeaderFields)メソッドを使用します。
レシーバのHTTP本体を取得するには(– HTTPBody)メソッドを使用します。
レシーバのボディストリームを取得するには(– HTTPBodyStream)メソッドを使用します。
レシーバのHTTPリクエストメソッドを取得するには(– HTTPMethod)メソッドを使用します。デフォルトはGETです。
デフォルトのクッキー処理が使用されるかどうかを取得するには(– HTTPShouldHandleCookies)メソッドを使用します。デフォルトはYES。指定したHTTPヘッダフィールドの値を取得するには(– valueForHTTPHeaderField:)メソッドを使用します。

作成

参照

メソッド(iOS)

Creating Requests

+ requestWithURL:
– initWithURL
+ requestWithURL:cachePolicy:timeoutInterval:
– initWithURL:cachePolicy:timeoutInterval

Getting Request Properties

– cachePolicy
– HTTPShouldUsePipelining
– mainDocumentURL
– timeoutInterval
– networkServiceType
– URL