Я нашел this post для преобразования Int
в NSData
Как преобразовать Ьоо в NSData
Он говорит, чтобы сделать это:
var foo: Int = 1000
let data = NSData(bytes: &foo, length: sizeof(Int))
мне было интересно, я должен сделать то же самое думаю, что для преобразования Bool
в NSData
, как это:
var purchase: Bool = true
let data = NSData(bytes: &purchase, length: sizeof(Bool))
В моем случае я всегда знаю, что Bool
будет правдой. Поскольку это так, мне было интересно, есть ли более простой способ преобразования значения «true» в объект NSData
.
Некоторый фон контекст:
Я храню эту NSData
значения в брелка с this library.
Я также буду преобразовать значение NSData
обратно в BOOL с NSKeyedUnarchiver.unarchiveObjectWithData
попробуйте преобразовать bool в int, а затем преобразовать его в NSData –
Я бы преобразовал Bool в байт, а не в int. Затем просто сделайте 'NSData setBytes'. Поскольку Bool является символом, подписанным, а char - байтом, конверсии нет ... Просто добавьте его в байт. – Putz1103
'NSNumber (booleanLiteral: purchase)' может конвертировать boo в число. – Khundragpan