2017-06-15 26 views
0

私は、画像をiphoneデバイスに保存し、そこから読むつもりです。 私はこのようにこの関数に書いていました。iPhoneのストレージに画像を保存/読み込む方法は?

/* 
* save image to local device 
*/ 
func saveImageToLocal(image: UIImage, fileName: String) { 
    if let data = UIImagePNGRepresentation(image) { 
     let filePath = self.getDocumentsDirectory().appendingPathComponent(fileName) 
     try? data.write(to: filePath, options: .atomic) 
    } 
} 

/* 
* get image from local device 
*/ 
func getImageFromLocal(fileName:String) -> UIImage? { 
    if let filePath = "\(self.getDocumentsDirectory())\(fileName)" as String! { 
     if let image = UIImage(contentsOfFile: filePath) { 
      return image 
     } 
    } 
    return nil 
} 

/* 
* get document directory to save/read local file 
*/ 
func getDocumentsDirectory() -> URL { 
    let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) 
    let documentsDirectory = paths[0] 
    return documentsDirectory 
} 

しかし、正しく動作しませんでした。 これにはどのような間違いがありますか? これはどのように実装できますか?よろしくです。 よろしくお願いします。

+0

保存方法と取得方法が異なる理由は何ですか? saveメソッドのようにgetメソッドを更新してください。 – rmaddy

+0

ありがとうございました!あなたの助けはとても良いです。 – LoveCode

答えて

0

お客様のgetImageFromLocal(fileName:) -> UIImage?メソッド内にfilePathが表示される問題があります。

func getImageFromLocal(fileName:String) -> UIImage? { 
    let filePath = self.getDocumentsDirectory().appendingPathComponent(fileName) 
    if let image = UIImage(contentsOfFile: filePath.path) { 
     return image 
    } 
    return nil 
} 
+0

ありがとう!それはうまくいく。 – LoveCode

関連する問題