文書   >   Foundation   >   Numbers,Data,and Basic Values   >   Data   >   NSData


クラス


NSData


Data にブリッジする静的なバイトのバッファ。参照セマンティクスやその他の Foundation 特有の動作が必要な場合は NSData を使用して下さい。





概観


NSData とその可変サブクラス NSMutableData は、データオブジェクト、またはバイトバッファ用のオブジェクト指向ラッパーを提供します。Data オブジェクトは、単純に割り当てられたバッファ (つまり、ポインタが埋め込まれていないデータ) に、Foundation オブジェクトの動作を引き継ぎます。


データのサイズには、約 8 エクサバイト (1 EB = 1018 バイト、実際には、制限は要因ではない) の理論上の制限があります。


NSData は、Core Foundation の対応する相手。CFData通話無料でブリッジされています。通話無料のブリッジの詳細については、通話無料でブリッジ を参照してください。


重要: Foundation フレームワークへの Swift のオーバーレイは、NSData クラスとその可変サブクラス NSMutableData にブリッジする Data 構造体を提供します。値の型の詳細については、Cocoa と Objective-C での Swift の使用 (Swift 4.1)Cocoa フレームワークでの作業 を参照してください。


データを微少に書き込む


NSData は、その内容をファイルに微少に保存するメソッドを提供し、これにより、データが完全に保存されるか、完全に失われることが保証されます。微少な書き込みはまずデータを一時ファイルに書き込み、この書き込みが成功した場合にのみ、一時ファイルを最終位置に移動します。


微少な書き込み操作は、破損したファイルや部分的に書き込まれたファイルによるデータ損失の危険性を最小限に抑えますが、一時ディレクトリ、ユーザのホームディレクトリまたはその他の一般にアクセス可能なディレクトリに書き込むときは適切でない場合があります。public にアクセス可能なファイルを扱う場合は、そのファイルを信頼できない危険なリソースとして扱います。攻撃者はこれらのファイルを侵害したり破損したりする可能性があります。攻撃者はまたファイルをハードリンクまたはシンボリックリンクで置き換えることもでき、書き込み操作で他のシステムリソースを上書きまたは破損させることがあります。


public にアクセス可能なディレクトリ内で作業する場合は、write(to:atomically:) メソッド (および関連するメソッド) を使用しないでください。代わりに、既存のファイル記述子で FileHandle を使用して、ファイルを安全に書き込みます。


詳細については、安全コード化ガイド 内の 安全なファイル操作 を参照してください。


トピックス





データの作成





ファイルからデータを読み込む





ファイルにデータを書き込む






Base64 表現のコード化と復号化





基底バイトへのアクセス





データの検索





データのテスト





データの記述


関連





以下からの継承


NSObject





以下に準拠


  • NSCopying
  • NSMutableCopying
  • NSSecureCoding


以下も見よ





参照型の使用

    class NSMutableData


    Data にブリッジするダイナミックバイトバッファ。参照セマンティクスやその他の Foundation 特有の動作が必要な場合は、NSMutableData を使用してください。


    typealias Data.ReferenceType


    この値型と同等の参照型のエイリアス。





目次
Xcode 10 の新機能

  • 言語:Swift
  • SDK:
  • iOS 2.0+
    macOS 10.0+
    tvOS 9.0+
    watchOS 2.0+

  • 概観
  • トピックス
  • 関連
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)