2015-10-22 61 views
1

我有文件名的字符串數組,它看起來像這樣無法創建的UIImage並將它添加到陣列

["xBGEx.jpg", "OgJuM.jpg"]

這是圖像,保存到文檔目錄。我嘗試通過追加完整路徑進行查找然後追加到數組來創建UIImage數組。

在我的appDelegate我有一些代碼在didFinishLaunchingWithOptions它看起來像

var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true) 
    var documentsDirectory = paths[0] as? String 
    self.documentsRoot = documentsDirectory! + "/" 

然後,當林在控制器,我需要我做以下

var slider = ["xBGEx.jpg", "OgJuM.jpg"] 
var UIImageArray = [UIImage]() 

for element in imgArray { 
     var path = "\(appDelegate.documentsRoot!)" + "\(element)" 
     var obj:UIImage = UIImage(contentsOfFile: path)! 
     UIImageArray.append(obj) 
    } 

imageArray = UIImageArray 

但是當我建立我的零錯誤在追加 enter image description here

我在做什麼錯?

+0

'NSSearchPathForDirectoriesInDomains'返回一個非可選的[String],根本不需要任何轉換和可選的綁定。除此之外,我推薦使用'NSFilemanager'的URL相關API和追加路徑組件的指定方法。 – vadian

回答

2

似乎路徑不會導致圖像文件。 你應該檢查文件是否你找到一個路徑確實是一個圖像,而不是強制與!

for element in imgArray { 
    var path = "\(appDelegate.documentsRoot!)" + "\(element)" 
    if let obj = UIImage(contentsOfFile: path) { 
     UIImageArray.append(obj) 
    } 
} 

投在另一方面,請不要名稱以大寫字母的變量 uiImageArray會更好。

+0

完美點如果let.Thanks! –

相關問題