ios - 如何获取所有包含特定字符串的网址?

标签 ios objective-c swift

我需要获取所有以“.jpg”结尾的网址。我的代码:

func findPicUrl(url: NSURL){
    var error: NSError?
    var HTML = NSString(contentsOfURL: url, encoding: NSUTF8StringEncoding, error: &error)
    var detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue, error: nil)
    var matches = detector!.matchesInString(HTML! as String, options: nil, range: NSMakeRange(0, HTML!.length))
    for match in matches {
        if (match as! NSString).containsString(".jpg"){
            println(match)
        }
    }
}

它打印所有没有“if 语句”的 url,但是当我添加“if 语句”时我得到一个错误

"Could not cast value of type 'NSLinkCheckingResult' to 'NSString'"**.

如何解决?

最佳答案

您必须从 NSLinkCheckingResult 中双重展开 URL 属性,将其转换为 NSURL 然后您可以使用 pathExtension 属性来查找“jpg”图像链接:

for match in matches {
    if let temp = match.URL, matchURL = temp as NSURL! {
        if matchURL.pathExtension == "jpg" {
            println(matchURL.absoluteString!)
        }
    }
}

关于ios - 如何获取所有包含特定字符串的网址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31314822/

相关文章:

iOS 13 UIActivityViewController 在图像保存后自动呈现以前的 VC

ios - bar按钮项目文本在moonIcon中选择时会改变,就像swift 4中的Font Awesome一样

ios - 如何在没有反斜杠的情况下转义整个字符串?

ios - 如何为一个类只运行一次代码

ios - ImageView 框架不适合实际大小

html - 从 NSString 中移除损坏的 HTML 标签

ios - 在 UICollectionView 中滚动会选择错误的单元格 - Swift

ios - 由 EventProducerType 生成的节流事件 - Swift Bond

ios - 处理网络异常IOS

swift - 可达性 "No such module"错误 - 如何将 .m 文件添加到项目