Search code examples
swiftintegernsdata

Converting NSData to Integer in Swift


In Objective-C the code looked liked this and worked flawlessly,

NSInteger random = arc4random_uniform(99) + 1 
NSData *data = [NSData dataWithBytes:& random length: sizeof(random)];
int value = *(int*)([data bytes]);

How can this be done in Swift?


Solution

  • Like this:

    var src: NSInteger = 2525
    var out: NSInteger = 0
    
    let data = NSData(bytes: &src, length: sizeof(NSInteger))
    data.getBytes(&out, length: sizeof(NSInteger))
    println(out) // ==> 2525