【发布时间】:2022-01-21 20:10:05
【问题描述】:
这样的 JASON 响应:我在下拉列表中显示服务...现在我需要选择 category_id
{
"result": {
"data": [
{
"id": 167,
"service_name": "Seo",
"category_id": 1,
},
{
"id": 166,
"service_name": "Development",
"category_id": 11,
},
{
"id": 164,
"service_name": "ghah",
"category_id": 9,
},
编辑: JSON 响应的快速类模型AutoSearchResultModel
public class AutoSearchResultModel {
public var result : AutoSearchResult?
}
public class AutoSearchResult {
public var data : Array<SearchData>?
}
public class SearchData {
public var id : Int?
public var service_name : String?
public var category_id : Int?
}
代码:我可以在下拉列表中显示结果并在文本字段中选择服务名称,但我需要选择 category_id 怎么做?如果我在 for loop selectedCategoryId = totData.category_id 中一直这样给出,我得到 11 .. 为什么?我如何获得选定的 id
var selectedCategoryId: String? = ""
private var autosearchResult = AutoSearchResultModel(dictionary: NSDictionary())
func autoSearchService(){
APIReqeustManager.sharedInstance.serviceCall(param: parameters as [String : Any], method: .post, url: CommonUrl.auto_search) { [weak self] (resp) in
self?.autosearchResult = AutoSearchResultModel(dictionary: resp.dict as NSDictionary? ?? NSDictionary())
}
}
@objc func textFieldDidChange(_ textField:UITextField) {
var testArray = [String]()
var originalDataArray:[String] = Array()
for totData in autosearchResult?.result?.data ?? []{
originalDataArray.append(totData.service_name)
selectedCategoryId = totData.category_id// all the time i am getting only 11.. how do i get selected category_id
}
testArray.removeAll()
if searchTF.text?.count != 0 {
for totData in originalDataArray{
if let wordToSearch = searchTF.text{
let range = totData.lowercased().range(of: wordToSearch, options: .caseInsensitive, range: nil, locale: nil)
if range != nil {
testArray.append(totData)
}
}
}
}
showDropDown(with: testArray, from: textField) { [weak self] (item, index) in
self?.searchTF.text = item
self?.searchResultService()
}
}
我如何被选中 category_id 请指导我
【问题讨论】:
-
AutoSearchResultModel 是什么样的?
-
@Vollan,我已经用
AutoSearchResultModel编辑了我的帖子。请检查 -
仍然缺少模型的
dictionary: resp.dict as NSDictionary? ?? NSDictionary()部分 -
@Vollan,我在 viewdidload 上方给出了这样的
private var autosearchResult = AutoSearchResultModel(dictionary: NSDictionary())...我正在使用autosearchResult来获取值 -
为什么你在发布问题时使用两个帐户,这个已经发布了yesterday。
标签: arrays json swift for-loop