Krischu
(Christoph K)
1
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?
tkrajacic
(Thomas Krajacic)
2
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 
See these links for more information:
https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/working_with_foundation_types