私はこの新しいビルドをインストールした後、ディレクトリに保存されたイメージが表示されないのはなぜですか?
func saveImage (image: UIImage, path: String) -> Bool{
let jpgImageData = UIImageJPEGRepresentation(image, 1.0)
let result = jpgImageData!.writeToFile(path, atomically: true)
return result
}
func getDocumentsURL() -> NSURL {
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
return documentsURL
}
func fileInDocumentsDirectory(filename: String) -> String
let fileURL = getDocumentsURL().URLByAppendingPathComponent(filename)
return fileURL.path!
}
let imagePath = fileInDocumentsDirectory(myImageName)
saveImage(yourPickedImage, path: imagePath)
のように、ユーザのフォトライブラリから画像を保存して、私はXcodeの8の新しいビルドをインストールするまで、画像が行う、このすべてが正常に動作します。この
func loadImageFromPath(path: String) -> UIImage? {
let image = UIImage(contentsOfFile: path)
return image
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! Cell
cell.backgroundImage.image = loadImageFromPath(String(Globals.imagesArray[(indexPath as NSIndexPath).item]))
のように、それらの画像を読み取りますUIImageViewにロードされません。
ファイルパスが変更される可能性があります。アプリケーションを終了して再起動するとイメージが読み込まれるため、新しいビルドからは読み込まれないためです。
これをどのように修正すればよいですか?
おかげ
こんにちはおかげさまで助けてください。 imagePath = fileindocumentsdirectory(myimagename)をloadimagefrompath()に配置しますか? – Khoury
あなたの 'Globals.imagesArray'について考えてみましょう。それは完全な_paths_を含んでいます。代わりに、元々ファイルを保存したときの作業を行います。画像ファイル_name_のみを 'Globals.imagesArray'に入れてください。時間が来ると、あなたが保存したときと同じように完全なURL /パスを_calculate_してください。 – matt
ありがとう、それは完璧なトリックでした! – Khoury