How to initialise a string from NSData in Swift
cocoa, nsdata, string, swift
Solution
This is how you should initialize the `NSString`:
Swift 2.X or older
let datastring = NSString(data: fooData, encoding: NSUTF8StringEncoding)
Swift 3 or newer:
let datastring = NSString(data: fooData, encoding: String.Encoding.utf8.rawValue)
This doc explains the syntax.
Problem
I have been trying to initialise a string from `NSData` in Swift. In the NSString Cocoa Documentation Apple is saying you have to use this: ``` init(data data: NSData!, encoding encoding: UInt) ``` However Apple did not include any example for usage or where to put the `init`. I am trying to convert the following code from Objective-C to Swift ``` NSString *string; string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding]; ``` I have been trying a lot of possible syntaxes such as the following (of course it did not work): ``` var string:NSString! string = init(data: fooData,encoding: NSUTF8StringEncoding) ```