1) no
2) no
see this 'self explanatory' snippet
import Foundation
let options: NSDirectoryEnumerationOptions = [.SkipsHiddenFiles, .SkipsPackageDescendants, .SkipsSubdirectoryDescendants]
let res = options.rawValue == NSDirectoryEnumerationOptions.SkipsHiddenFiles.rawValue | NSDirectoryEnumerationOptions.SkipsPackageDescendants.rawValue | NSDirectoryEnumerationOptions.SkipsSubdirectoryDescendants.rawValue
print(res) // true
dump(options)
/*
▿ __C.NSDirectoryEnumerationOptions
- rawValue: 7
*/
you can initialize it other way, with the same result
let options2 = NSDirectoryEnumerationOptions(rawValue: NSDirectoryEnumerationOptions.SkipsHiddenFiles.rawValue | NSDirectoryEnumerationOptions.SkipsPackageDescendants.rawValue | NSDirectoryEnumerationOptions.SkipsSubdirectoryDescendants.rawValue)
options2 == options // true