文書   >   Foundation   >   Numbers,Data,and Basic Values   >   Data   >   NSData
クラス
NSData
Data にブリッジする静的なバイトのバッファ。参照セマンティクスやその他の Foundation 特有の動作が必要な場合は NSData を使用して下さい。
概観
NSData とその可変サブクラス NSMutableData は、データオブジェクト、またはバイトバッファ用のオブジェクト指向ラッパーを提供します。Data オブジェクトは、単純に割り当てられたバッファ (つまり、ポインタが埋め込まれていないデータ) に、Foundation オブジェクトの動作を引き継ぎます。
データのサイズには、約 8 エクサバイト (1 EB = 1018 バイト、実際には、制限は要因ではない) の理論上の制限があります。
NSData は、Core Foundation の対応する相手。CFData と 通話無料でブリッジされています。通話無料のブリッジの詳細については、通話無料でブリッジ を参照してください。
データを微少に書き込む
NSData は、その内容をファイルに微少に保存するメソッドを提供し、これにより、データが完全に保存されるか、完全に失われることが保証されます。微少な書き込みはまずデータを一時ファイルに書き込み、この書き込みが成功した場合にのみ、一時ファイルを最終位置に移動します。
微少な書き込み操作は、破損したファイルや部分的に書き込まれたファイルによるデータ損失の危険性を最小限に抑えますが、一時ディレクトリ、ユーザのホームディレクトリまたはその他の一般にアクセス可能なディレクトリに書き込むときは適切でない場合があります。public にアクセス可能なファイルを扱う場合は、そのファイルを信頼できない危険なリソースとして扱います。攻撃者はこれらのファイルを侵害したり破損したりする可能性があります。攻撃者はまたファイルをハードリンクまたはシンボリックリンクで置き換えることもでき、書き込み操作で他のシステムリソースを上書きまたは破損させることがあります。
public にアクセス可能なディレクトリ内で作業する場合は、write(to:atomically:) メソッド (および関連するメソッド) を使用しないでください。代わりに、既存のファイル記述子で FileHandle を使用して、ファイルを安全に書き込みます。
詳細については、安全コード化ガイド 内の 安全なファイル操作 を参照してください。
トピックス
データの作成
init(bytes: UnsafeRawPointer?, length: Int)
指定されたバッファからコピーされた、指定のバイト数で満たさられたデータオブジェクトを初期化します。
init(bytesNoCopy: UnsafeMutableRawPointer, length: Int)
指定されたバッファからの指定されたバイト数のデータで満たされたデータオブジェクトを初期化します。
指定されたバッファから指定されたバイト数のデータで満たされたデータオブジェクトを、カスタムのデアロケータブロックで初期化します。
init(bytesNoCopy: UnsafeMutableRawPointer, length: Int, freeWhenDone: Bool)
指定されたバッファから指定されたバイト数を加えることによって、新しく割り当てられたデータオブジェクトを初期化します。
別のデータオブジェクトの内容でデータオブジェクトを初期化します。
ファイルからデータを読み込む
与えられた path にあるファイルの内容でデータオブジェクトを初期化します。
init(contentsOfFile: String, options: NSData.ReadingOptions = [])
与えられた path にあるファイルの内容でデータオブジェクトを初期化します。
与えられた URL で指定された場所のデータを使用してデータオブジェクトを初期化します。
init(contentsOf: URL, options: NSData.ReadingOptions = [])
与えられた URL で指定された場所のデータを使用してデータオブジェクトを初期化します。
データオブジェクトの読み込みに使用するメソッドのオプション。
init?(contentsOfMappedFile: String)
与えられたパスで指定されたマップされたファイルの内容でデータオブジェクトを初期化します。
  廃止  
class func dataWithContentsOfMappedFile(String) -> Any?
与えられたパスのマップされたファイルからデータオブジェクトを作成して返します。
  廃止  
ファイルにデータを書き込む
func write(toFile: String, atomically: Bool) -> Bool
与えられたパスで指定されたファイルにデータオブジェクトのバイトを書き込みます。
func write(toFile: String, options: NSData.WritingOptions = [])
与えられたパスで指定されたファイルにデータオブジェクトのバイトを書き込みます。
func write(to: URL, atomically: Bool) -> Bool
与えられた URL で指定された場所にデータオブジェクトのバイトを書き込みます。
func write(to: URL, options: NSData.WritingOptions = [])
与えられた URL で指定された場所にデータオブジェクトのバイトを書き込みます。
データオブジェクトの書き込みに使用されるメソッドのオプション。
Base64 表現のコード化と復号化
init?(base64Encoded: Data, options: NSData.Base64DecodingOptions = [])
指定された Base64 コード化データでデータオブジェクトを初期化します。
指定された Base64 でコード化された文字列で初期化されたデータオブジェクトを初期化します。
  廃止  
init?(base64Encoded: String, options: NSData.Base64DecodingOptions = [])
指定された Base64 コード化文字列でデータオブジェクトを初期化します。
func base64EncodedData(options: NSData.Base64EncodingOptions = []) -> Data
指定されたオプションを使用して、文字列から Base64、UTF-8 でコード化されたデータオブジェクトを作成します。
func base64EncodedString(options: NSData.Base64EncodingOptions = []) -> String
指定されたオプションを使用して、文字列から Base64 でコード化された文字列を作成します。
func base64Encoding() -> String
文字列から Base64 でコード化された文字列を初期化します。
  廃止  
struct NSData.Base64EncodingOptions
Base64 コード化データに使用されるメソッドのオプション。
struct NSData.Base64DecodingOptions
Base64 コード化データの復号化に使用される復号アルゴリズムを変更するオプション。
基底バイトへのアクセス
データオブジェクトの内容へのポインタ。
func enumerateBytes((UnsafeRawPointer, NSRange, UnsafeMutablePointer<ObjCBool>) -> Void)
ブロックを使用してデータオブジェクト内の各バイト範囲を列挙します。
func getBytes(UnsafeMutableRawPointer)
データオブジェクトの内容を指定されたバッファにコピーします。
  廃止  
func getBytes(UnsafeMutableRawPointer, length: Int)
データオブジェクトの先頭から指定されたバッファにいくつかのバイトをコピーします。
func getBytes(UnsafeMutableRawPointer, range: NSRange)
データオブジェクトから指定されたバッファに範囲のバイトをコピーします。
データの検索
func subdata(with: NSRange) -> Data
与えられた範囲で指定された範囲内にあるデータオブジェクトのバイトを含む新しいデータオブジェクトを返します。
func range(of: Data, options: NSData.SearchOptions = [], in: NSRange) -> NSRange
与えられた範囲内で、与えられたオプションの対象となる、与えられたデータの最初の発生の範囲を検索して返します。
データオブジェクトの検索に使用されるメソッドのオプション。
データのテスト
func isEqual(to: Data) -> Bool
このデータオブジェクトが別のデータオブジェクトと同じかどうかを示すブール値を返します。
データオブジェクトに含まれるバイト数。
データの記述
データオブジェクトの内容の 16 進表現をプロパティリスト形式で含む文字列。
関連
以下からの継承
以下に準拠
- NSCopying
- NSMutableCopying
- NSSecureCoding
以下も見よ
参照型の使用
class NSMutableData
Data にブリッジするダイナミックバイトバッファ。参照セマンティクスやその他の Foundation 特有の動作が必要な場合は、NSMutableData を使用してください。
typealias Data.ReferenceType
この値型と同等の参照型のエイリアス。