Swift предлагает как Data
, так и [UInt8]
типы, которые делают очень похожие вещи.Данные против [UInt8]
- В чем разница между этими двумя?
- При разработке новых API, какой предпочтительный тип?
Swift предлагает как Data
, так и [UInt8]
типы, которые делают очень похожие вещи.Данные против [UInt8]
- по существу байт-массив, байт (как я уверен, вы знаете) состоит из 8 бит. Хотя NSData - это не просто массив байтов, то в глубине его базовая структура основана на одном. Вы можете легко конвертировать между ними, например, с помощью таких методов, как data.bytes
.
Что касается проектирования API-интерфейсов, я лично рекомендовал бы вам их проектировать с помощью NSData просто из-за всей дополнительной функциональности, которую он предлагает по простому байтовому массиву. Apple уже много сделала для вас, поэтому зачем это делать снова?
Является ли 'Data' чем-то, что нам предлагается использовать или просто для взаимодействия с частями ObjC? У вас есть популярные библиотеки, которые используют 'Data' vs' [UInt8] '? – Etan
Что относительно приложений Linux, которые не используют части ObjC? Для них популярна 'Data'? – Etan
NSData - это просто способ представления двоичных данных iOS/OSX. Фактически данные обмена между приложением и вашим бэкендом обычно являются строкой, закодированной в base64. NSData можно легко преобразовать в это с помощью 'data.base64EncodedStringWithEncoding (NSUTF8StringEncoding)' –
Я бы сказал, что 'Data' (~' NSData') являются объектами и предоставляют множество методов, которые могут быть полезны. Но это зависит от того, нужны они вам или нет. – Larme