En Swift fileExistsAtPath (_ ruta: String, isDirectory isDirectory: UnsafeMutablePointer <ObjCBool>) -> Bool acepta solo parámetro único

El método fileExistsAtPath () en el ejemplo siguiente acepta solo un argumento.

if fm.fileExistsAtPath(result, isDirectory:&isDir) { 

El post de error exacto es: "Extra argument 'isDirectory' in call".

¿Alguna idea de lo que está mal?

Algunos podrían encontrarlo un poco más orderado. Esto es Swift 3.

 var directory: ObjCBool = ObjCBool(false) var exists: Bool = FileManager.default.fileExists(atPath: "…", isDirectory: &directory) if exists && directory.boolValue { // Exists. Directory. } else if exists { // Exists. } 

El problema es que isDirectory is UnsafeMutablePointer<ObjCBool> y no UnsafeMutablePointer<Bool> proporciona. Puede utilizar el código siguiente:

 var isDir = ObjCBool(false) if NSFileManager.defaultManager().fileExistsAtPath("", isDirectory: &isDir) { } if isDir.boolValue { } 

Es

 func isDirectory(path: String) -> Bool { var isDirectory: ObjCBool = false NSFileManager().fileExistsAtPath(path, isDirectory: &isDirectory) return Bool(isDirectory) } 

En Swift3

 var isDirectory:ObjCBool = true var exists = FileManager.default.fileExists(atPath: cachePath, isDirectory: &isDirectory)