Data vs [UInt8]

2019-07-15 02:58发布

Swift offers both Data and [UInt8] types, which do a very similar thing.

  • What are the differences between the two?
  • When designing new API's, what's the preferred type?

标签: swift nsdata
1条回答
爷、活的狠高调
2楼-- · 2019-07-15 03:39

[UInt8] is essentially a byte array, a byte (as I'm sure you know), is comprised of 8 bits. Whilst NSData isn't simply a byte array, deep down it's underlying structure is based off one. You can easily convert between them using methods such as data.bytes, for example.

In terms of designing APIs, I would personally recommend you design them with NSData simply because of all the extra functionality it offers over a simple byte array. Apple has already done a lot of the legwork for you, so why do it again yourself?

查看更多
登录 后发表回答