无法创建UIImage并将其附加到数组

时间:2015-10-22 10:16:05

标签: swift

我有文件名的字符串数组,看起来像这样

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

这是保存到文档目录的图像。我尝试通过附加完整路径来查看然后附加到数组来创建UIImages数组。

在我的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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

似乎路径不会导致图像文件。 您应该检查您找到的路径是否真的是图像,而不是强制使用public partial class WebForm1 : System.Web.UI.Page { int n = 0; protected void Page_Load(object sender, EventArgs e) { n = int.Parse(NumHidden.Value); } protected void Button1_Click(object sender, EventArgs e) { n++; Label1.Text = NumHidden.Value = n.ToString(); } protected void Button2_Click(object sender, EventArgs e) { n--; Label1.Text = NumHidden.Value = n.ToString(); }

强制转换
!

另一方面请注意,不要用大写字母命名变量 for element in imgArray { var path = "\(appDelegate.documentsRoot!)" + "\(element)" if let obj = UIImage(contentsOfFile: path) { UIImageArray.append(obj) } } 会好得多。