无法将 Tableview 单元格值添加到 JSON 参数,为啥会为零?迅速
Posted
技术标签:
【中文标题】无法将 Tableview 单元格值添加到 JSON 参数,为啥会为零?迅速【英文标题】:Unable to add Tableview cell value to JSON Parameter, coming nil why? in swift无法将 Tableview 单元格值添加到 JSON 参数,为什么会为零?迅速 【发布时间】:2020-05-30 18:22:42 【问题描述】:我正在将 tableview 单元格标签文本添加到 phNumArray
,在 tableview 中我正在获取所有值但是当我尝试传递服务调用时它会出现 nill 为什么?
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource
@IBOutlet weak var joinersTableView: UITableView!
var tablcellArray = [String]()
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell: Namescell = tableView.dequeueReusableCell(withIdentifier: "Namescell") as! Namescell
cell.empRoleLbl.text = empTeftfield.text
tablcellArray.append((cell.empRoleLbl.text!))
print("employee names array \(tablcellArray)")// here coming all appende values
return cell
func getPostData(params: [String:Any]) -> Data?
return try? JSONSerialization.data(withJSONObject: params, options: .prettyPrinted)
DispatchQueue.main.async
self.joinersTableView.reloadData()
func callPostApi()
print("tableview emp values\(tablcellArray)")// here array values not coming
let url = URL(string: "http://itaag-env-1/")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
print("appende values \(tablcellArray)")
try? request.setMultipartFormData(["contactsList": "\(tablcellArray)"], encoding: .utf8)
DispatchQueue.main.async
self.joinersTableView.reloadData()
URLSession.shared.dataTask(with: request) data, _, _ in
if let data = data, let json = try? JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any]
.resume()
在 tableview cellfor 行附加值即将到来.. 但是当我尝试将该数组带入 callPostApi
func 然后 tablcellArray
显示 nil 为什么?
请分享您的知识,请尝试解决此错误。
【问题讨论】:
永远不要从cellForRowAt
内部更改您的数据模型
【参考方案1】:
先改变
var tablcellArray = [String]()
到
var tablcellArray = [String]
然后在您的 cellForRowAt 中尝试访问您的数据,例如
let empTeftfield = tablcellArray[indexPath.row]
如果这行打印正确
cell.empRoleLbl.text = empTeftfield.text
这应该可以。
如果从 api 获取数据后不打印您的值,则重新加载 tableview。你不应该在你的条件下为你的数组添加值。
【讨论】:
以上是关于无法将 Tableview 单元格值添加到 JSON 参数,为啥会为零?迅速的主要内容,如果未能解决你的问题,请参考以下文章
vbscript 将“A”列中的所有单元格值添加到数组“ArrV”中!