6

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

2 回答 2

6

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

于 2016-04-20T23:52:10.983 回答
5

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

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

于 2018-07-18T17:09:35.593 回答