In many Swift examples out there, e.g. Stackoverflow, I find the usage of NS prefixed types. E.g. in this example:
func listFilesFromDocumentsFolder() -> [NSString]?{
var theError = NSErrorPointer()
let dirs = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String]
if dirs != nil {
let dir = dirs![0] as NSString
let fileList = NSFileManager.defaultManager().contentsOfDirectoryAtPath(dir, error: theError) as [NSString]
return fileList
}else{
return nil
}
}
What are these? Coming from a special framework?
Those are Types that come from Apple's Cocoa frameworks. They are basically "Legacy" for Swift, as Apple's frameworks are written in Objective-C. For many of them you will find a native Swift type without the NS-prefix, and some of them can be used interchangeably.
There used to be a free book about that topic by Apple as well, but it seems to have been abandoned