Swift3 iOS - 如何在 URL 数组中搜索 URL [URL?]

Posted

技术标签:

【中文标题】Swift3 iOS - 如何在 URL 数组中搜索 URL [URL?]【英文标题】:Swift3 iOS -How to search for a URL inside an Array of URLs [URL?] 【发布时间】:2017-07-03 21:19:04 【问题描述】:

我有一个 url 数组。我想在该数组中搜索特定元素,如果存在则将其删除。

let urls: [URL?] = [url_0, url_A, url_Purple, etc..]

//first search for url_A
if urls.contains(where: url_A)
     //second remove it from the array
     urls = urls.filter$0 != url_A

我尝试了trydo-try-catch,但没有成功。我知道我做错了,这就是我问这个问题的原因。

我得到错误:

无法将“URL”类型的值转换为预期的争论类型“(URL)” 抛出 -> 布尔

如何在 url 数组中搜索 url?

【问题讨论】:

【参考方案1】:

根据您的问题,您可以这样做:

 let urls: [URL?] = [url_0, url_A, url_Purple, etc..]
 //second remove it from the array
 urls = urls.filter $0 != url_A

这将搜索url_A,如果找到它将删除它并返回新数组。如果我是正确的,那就是你要找的。​​p>

根据你得到的错误答案是:

let urls: [URL?] = [url_0, url_A, url_Purple, etc..]

//first search for url_A
if urls.contains(where: $0 == url_A ) == true 
     //second remove it from the array
     urls = urls.filter$0 != url_A

请注意,它需要一个闭包作为包含块中的参数。你在传递URL? 类型。

【讨论】:

感谢您的帮助!我最初是在尝试 $0.someProperty == url_A 但由于找不到我提出的问题。我很高兴我这样做了,因为您的回复会帮助其他人!谢谢:) 很高兴听到这个消息。

以上是关于Swift3 iOS - 如何在 URL 数组中搜索 URL [URL?]的主要内容,如果未能解决你的问题,请参考以下文章

如何检测我的音频流 url 是不是无法被 iOS 设备播放 - swift3

在 Swift3 中将查询参数添加到 iOS 中的 GET url

如何在URL中搜索具有特定类别的项目

如何在laravel中搜索具有数组属性的对象数组

如何在数组键中搜索子字符串?

如何在二维 numpy 数组中搜索特定 XY 对的位置?