2016-07-21 7 views
2

Xcodeのディレクトリに画像ファイルを書き込むときにエラーが発生します。関数data.writeToFileがエラーを返しています。ここで私が何をしようとしていますものです:ディレクトリにファイルを書き込むには

は、ファイルパスを取得します。

func getPath(fileName: String) -> String { 
     let documentURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] 
     let folder = "sampleDirectory" 
     return documentURL.URLByAppendingPathComponent(folder).URLByAppendingPathComponent(fileName).path! 
    } 

保存画像

func saveImage(image: UIImage, path: String) -> Bool { 
     let pngImageData = UIImagePNGRepresentation(image) 
     do { 
      let success = try pngImageData?.writeToFile(path, options: NSDataWritingOptions.init(rawValue: 0)) 
     } catch { 
      print(error) 
     } 
     return false 
    } 

は、しかし、というエラーがあります:

NSPOSIXErrorDomain - code : 2 

は、誰もが問題が何であるか知っていますか?

let fileName = "first_image" 
let imagePath = self.getPath(fileName) 
let result = self.saveImage(processedImage, path: imagePath) 

processedImageがタイプUIImageである:私はコードを呼び出す

EDIT !

+0

iOS版が存在しない場合は、ファイルを交換するオプションNSDataWritingOptions.DataWritingAtomicを使用する場合がありますデバイスまたはシミュレータ? –

+0

これはiOSデバイスで発生します。 – hockeybro

+0

'saveImage(..)'コールコードを追加してください。 –

答えて

1

ディレクトリが存在しない場合、またはサブディレクトリを使用していない場合は、ディレクトリ「sampleDirectory」を作成してみてください。 ディレクトリがで存在するかどうかをチェックすることができます:

if !NSFileManager.defaultManager().fileExistsAtPath(path) { // create missing directories try! NSFileManager.defaultManager().createDirectoryAtPath(foo, withIntermediateDirectories: true, attributes: nil) }

をあなたはまた、最初の最初の補助ファイルに書き込み、その後、エラー

関連する問題