不能让UIImage的init(contentsOfFile :)工作

时间:2015-11-12 09:17:03

标签: ios swift uiimage

我正在尝试在我的bundle子目录的子目录中找到一个文件。我使用此代码创建了一个带有#!/bin/bash openssl s_client -connect my.server.com:443 -showcerts > output.txt 2>/dev/null & sleep 2 的UIImage。

init(contentsOfFile:)

我做错了什么?

编辑:

这是有效的,因为您在xcode编辑器中创建的组不会影响实际路径。

let resource = NSBundle.mainBundle().pathForResource("1g", ofType: "jpg", inDirectory: "Level1")      
let image = UIImage(contentsOfFile: resource!)

let resource = NSBundle.mainBundle().pathForResource("1g", ofType: "jpg", inDirectory: nil)

2 个答案:

答案 0 :(得分:1)

你得到错误致命错误:在展开可选值时意外发现nil ,这意味着你的变量被设置为nil,但你的代码期望它不是nil。

请检查资源是否包含值。

let resource = NSBundle.mainBundle()。pathForResource(“1g”,ofType:“jpg”,inDirectory:“Level1”)    print(资源) //

然后

喜欢

选择-1

if let resource = NSBundle.mainBundle().pathForResource("1g", ofType: "jpg", inDirectory: "Level1") 

{
  let image = UIImage(contentsOfFile: resource!)
}
else
 {
 print (resource)
 }

选择-2

let resource = NSBundle.mainBundle().pathForResource("1g", ofType: "jpg", inDirectory: "Level1")      

if resource != nil {
//Do Something
let image = UIImage(contentsOfFile: resource!)
}

其他information

答案 1 :(得分:0)

好的我明白了。根据Fatti Khan提到的路径我试过

let resource = NSBundle.mainBundle().pathForResource("1g", ofType: "jpg",inDirectory: nil)

相同
let resource = NSBundle.mainBundle().pathForResource("1g", ofType: "jpg")

似乎即使我在xcode编辑器中创建的组没有影响,也没有实际路径,即:file:///Users/user/Desktop/MattNeuburg/pathFinder/pathFinder/1g.jpg。 pathFinder是项目的名称。