如何使用UISearchBar swift 4.2搜索结构数据

问题描述 投票:0回答:1

我有用于解码数据的struct数据类型

struct OtherCountry : Decodable {
    let name : String
    let dial_code : String
    let code : String

}

struct FrequentCountry:Decodable{
    let name : String
    let dial_code : String
    let code : String
}

我想根据名称和代码进行搜索,并将其存储在struct类型的数组中

    var OtherDataCountry = [OtherCountry]()
    var FrequentDataCountry = [FrequentCountry]()

我还实现了看起来像这样的搜索功能

func searchBar(searchText: String) {
        searchCountry1 = OtherDataCountry.filter({ (OtherCountry) -> Bool in
            return OtherCountry.name.range(of: searchText , options:[.caseInsensitive]) != nil

        searchActive = !searchCountry1.isEmpty

            self.mTableView.reloadData()
        }

        )}
}

有人可以帮我将结构数据转换为String数组,这将很有帮助,因为我可以搜索array并使用该结果显示整个数据。

谢谢您的帮助!

arrays xcode struct uisearchbar swift4.2
1个回答
0
投票

请尝试以下代码

func searchBar(searchText: String) {
            searchCountry1 = OtherDataCountry.filter {
                $0.name.range(of: searchText , options:[.caseInsensitive]) != nil
    }.map {$0.name}

            searchActive = !searchCountry1.isEmpty

                self.mTableView.reloadData()
            }

            )
    }

searchCountry1将是包含名称值的映射之后的数组

© www.soinside.com 2019 - 2024. All rights reserved.