i found this post convert int
nsdata
it says this:
var foo: int = 1000 let data = nsdata(bytes: &foo, length: sizeof(int))
i wondering, should same think converting bool
nsdata
, this:
var purchase: bool = true let data = nsdata(bytes: &purchase, length: sizeof(bool))
in case know bool
true. since case, wondering if there simpler method convert value "true" nsdata
object.
some background context:
i storing nsdata
value in keychain this library.
i going convert nsdata
value bool nskeyedunarchiver.unarchiveobjectwithdata
you can try extending bool function returns nsdata
(i don't have ide me right now, syntax might not right)
extension bool { func tonsdata() -> nsdata { var data: nsdata? if ( self.value ) { //not sure if right syntax return nsdata(bytes: 1, length: sizeof(int)) } return nsdata(bytes: 0, lentgh: sizeof(int)) } }
then bool have nsdata representation so
let b: bool = true let data: nsdata = b.tonsdata()
i'm still new @ this, think above part of "protocol oriented programming" apple encourages.
Comments
Post a Comment