我有一个代码,它从在线检索的文章中加载一些缩略图,并将它们放入Article
对象中。它看起来如下:
for article in newArticlesArray {
let url: String
if let myGroup = article["group"] as? Dictionary<NSObject, AnyObject>, let myThumbnail = myGroup["thumbnail"] as? Dictionary<NSObject, AnyObject>, let myURL = myThumbnail["url"] as? String{
url = myURL
}
else{
url = "file://no-thumbnail.png"
}
let a = Article(t: article["title"] as! String,
da: article["pubDate"] as! String,
de: newDesc,
th: NSURL(string: url)!,
l: NSURL(string: article["link"] as! String)!)
articlesArray.addObject(a)
然而,当一篇文章没有缩略图时,问题就出现了,因此我不得不使用本地图像。没有缩略图的本地文件名为no-thumbnail.png
,但我似乎找不到一个简单的在线指南,说明如何通过在swift中使用NSURL来实际引用本地文件,在本例中是.png图像。
希望有人能分享一些对此的见解。
解决方案
对于感兴趣的人,解决方案如下:
let th = NSBundle.mainBundle().URLForResource("no-thumbnail", withExtension: "png")
url = th!.absoluteString
您可以使用Bundle.main.url(forResource: "no-thumbnail", withExtension: "png")
Swift 4的语法发生了一些变化:
let imageURL = Bundle.main.url(forResource: "imageName", withExtension: "png")