【发布时间】:2016-04-05 20:45:14
【问题描述】:
我正在使用 SwiftyJSON 解析数据。数据是通过 Alamofire 发出的 API 请求接收的。由于某种原因,当我使用reloadData() UITableView 方法时,UITableView 没有任何反应。我正在使用UITableViewViewController Swift 类,因此无需为UITableView 创建IBOutlet... 是真的吗?我还确保我也在获取数据并正确解析它。下面是我的代码,有人能找出问题所在吗?
func search(searchTerm: String) {
var finalSearchQuery: String = String()
for objects in searchTerm.characters {
if objects == " " {
finalSearchQuery = finalSearchQuery + "+"
} else {
finalSearchQuery = finalSearchQuery + "\(objects)"
}
}
print(finalSearchQuery)
Alamofire.request(.GET, "https://cranbrook.myschoolapp.com/api/directory/directoryresultsget?directoryId=449&searchVal=\(finalSearchQuery)&facets=&searchAll=false").responseJSON { response in
var instanceSearchResult: SearchResult!
for object in JSON(response.result.value!) {
let firstName: String = object.1["FirstName"].stringValue
let lastName: String = object.1["LastName"].stringValue
let email: String = object.1["Email"].stringValue
let largeFilename: String = object.1["LargeFileName"].stringValue
let addressLine1: String = object.1["AddressLine1"].stringValue
let city: String = object.1["City"].stringValue
let state: String = object.1["State"].stringValue
let zip: String = object.1["Zip"].stringValue
let homePhone: String = object.1["HomePhone"].stringValue
let gradYear: String = object.1["GradYear"].stringValue
let gradeDisplay: String = object.1["GradeDisplay"].stringValue
let gradeNumericDisplay: String = object.1["GradeNumericDisplay"].stringValue
instanceSearchResult = SearchResult(firstName: firstName, lastName: lastName, email: email, largeFilename: largeFilename, addressLine1: addressLine1, city: city, state: state, zip: zip, homePhone: homePhone, gradYear: gradYear, gradeDisplay: gradeDisplay, gradeNumericDisplay: gradeNumericDisplay)
self.tableView.reloadData()
print(instanceSearchResult)
}
self.searchResult?.append(instanceSearchResult)
}
ProgressHUD.showSuccess("Done")
print("search conplete")
}
【问题讨论】:
-
您是从 searchResult Array 中填充表格吗?
-
@technerd 是的,我在 searchResult 数组中有搜索结果数据后填充它,但 tableView 上没有加载任何内容
-
在 for-each 循环中重新加载 tableView 是个坏主意。
标签: ios swift uitableview alamofire reloaddata