Swift:如何在 NSURL 中引用本地图像

Big*_*tor 5 image nsurl local-files swift

我有一个代码,它从在线检索的文章中加载一些缩略图并将它们放入一个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)
Run Code Online (Sandbox Code Playgroud)

但是,当文章没有缩略图时会出现问题,因此我必须使用本地图像。没有缩略图的本地文件被称为no-thumbnail.png,但是我似乎无法在线找到有关如何通过使用 swift 中的 NSURL 实际引用本地文件(在本例中为 .png 图像)的简单指南。

寻找有人分享对此的一些见解。

解决方案

对于有兴趣的人,解决方案如下:

let th = NSBundle.mainBundle().URLForResource("no-thumbnail", withExtension: "png")
url = th!.absoluteString
Run Code Online (Sandbox Code Playgroud)

rou*_*nak 6

您可以使用 Bundle.main.url(forResource: "no-thumbnail", withExtension: "png")


Jar*_*edH 5

Swift 4的语法发生了一些变化:

let imageURL = Bundle.main.url(forResource: "imageName", withExtension: "png")