2017-01-29 92 views
3

私はswift 3 Dataオブジェクトと以前のNSDataの違いを理解していません。SwiftデータとNSDataの3つの違い

なぜAppleがこの変更を行ったのですか?

+1

[SE-0069:Mutability and Foundation Value Types](https://github.com/apple/swift-evolution/blob/master/proposals/0069-swift-mutability-for-foundation.md)を読んでください。 ) – Hamish

+0

アップルから - SwiftオーバーレイをFoundationフレームワークに提供すると、NSDataクラスとその可変サブクラスNSMutableDataに橋渡しするData構造体が提供されます。データ値型はNSData参照型と同じ機能を提供し、2つはObjective-C APIと相互作用するSwiftコードで交換可能に使用できます。この動作は、Swiftが標準文字列、数値、およびコレクション型を対応するFoundationクラスに橋渡しする方法と似ています。 – Magnas

+0

[こちら](https://www.quora.com/What-is-difference-between-NSData-and-Data-in-Swift)があなたの答えに役立つかもしれません。 –

答えて

2

DataNSDataの違いについては、Swift Migration Guideに記載されています。

両方の主な変更点は名前に過ぎません。しかし、いくつかの異なる方法があります。これらの変更については、上のリンクを参照してください。

「理由」に答えるには:スウィフト2からスウィフト3の変化量が多い理由はいくつかあります。 hereのいずれかを読んでいると、Foundation APIの名前をより「Swifty」にすることができます。

+6

かなり大きな変更があります。 'Data'はSwiftネイティブ型であり、構造体であり、' NSData'はオブジェクトです。 'Data'を使うと、不変データの場合はNSData、可変データの場合はNSMutableDataを使用する代わりに、1つのタイプを使用することができます。 – Sulthan

関連する問題