2017-07-03 9 views
1

私はURLの配列を持っています。私はその配列内の特定の要素を検索し、そこにあればそれを削除したいと思います。Swift3 iOS - URLの配列内のURLを検索する方法[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を試してみましたが、彼らはうまくいきませんでした。私はこれが間違っていることを知っているので、私はその質問をしています。

私はエラーを取得する:

Cannot convert value of type 'URL' to expected arguement type '(URL)' throws -> Bool

iは、URLの配列内のURLを検索するにはどうすればよいですか?これはurl_Aを検索します

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

、見つかった場合、それを削除して、新しい配列を返します。

答えて

1

あなたの質問を基に、あなたはこれを行うことができます。私が正しいとすれば、それはあなたが探しているものです。それはブロックを含む内のparamとして閉鎖を期待していること

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

助けてくれてありがとう!私は最初に{$ 0.someProperty == url_A}を試していましたが、私が見つけられなかったので私は質問をしました。私はあなたの応答が他人を助けるように私はうれしいです!ありがとう:) –

+1

それを聞いてうれしい。 – adev

関連する問題