gpt4 book ai didi

ios - 数据从全局数组中消失

转载 作者:行者123 更新时间:2023-11-30 12:26:08 25 4
gpt4 key购买 nike

我在父类中定义了一个全局数组,我试图让该数组填充从 REST 填充的对象。服务GET来自JSON的电话文件。我的想法是,我定义了全局数组,并填充了从 JSON 文件填充的对象,然后这些数据将在我的 tableviewcell 中使用。内部类。但我注意到数据被填满,它得到 json正确的是,数据被输入到数组中,但所有内容都在方法之外被删除。在内部类中,数据不存在,甚至在网络请求括号之外。我无法想象问题是什么。

这是我将数组初始化为全局数组:

class ContentDeliveryViewController: UITableViewController, UISearchBarDelegate, UISearchDisplayDelegate{

public var ListOfFiles: [Asset_Content] = []
public var ListOfTags: [String] = []

这是获取 json 并填充数组的方法,其中包含括号外的打印语句,表明数组已为空。

 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
print("short CALLED")
let cell = self.tableView.dequeueReusableCell(withIdentifier: "ContentDeliveryCell", for: indexPath as IndexPath) as! ContentDeliveryCell

var content: AWSContent
//fix this
if(tableView == self.searchDisplayController?.searchResultsTableView){
print("search part called!!")
content = filteredList[indexPath.row]
}else{
content = contents![indexPath.row]
}

if(content.key.contains(IDENTIFIER)){
//
let url = URL(string: URL)
let task = URLSession.shared.dataTask(with: url!){
data, response, error in guard error == nil else{
print(error!)
return
}
guard let data = data else{
print("Data is empty")
return
}
let json = try! JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as? [[String: AnyObject]]
var asset: Asset_Content
for jay in json! {
let category = jay["BIGCATEGORY"] as? String
let diagnosis = jay["DIAGNOSIS"] as? String
let perspective = jay["PERSPECTIVE"] as? String
let name = jay["NAME"] as? String
let title = jay["Title"] as? String
let UnparsedTags = jay["TAGS"] as? String
let filename = jay["FILENAME"] as? String

let tagArray = UnparsedTags?.characters.split(separator: ",")
for tag in tagArray!{
if(self.ListOfTags.contains(String(tag))){

}else{
self.ListOfTags.append(String(tag))
print("TAGCOUNT == ", self.ListOfTags.count)
}
}

asset = Asset_Content(category!, diagnosis!, perspective!, name!, title!, filename!)
self.loadJson(forFile: asset)
print("RightCount === ", self.ListOfFiles.count)// FILLED ARRAY
}
print("FirstCount === ", self.ListOfFiles.count)//FILLED ARRAY
}

task.resume()
cell.isHidden = true
print("FirstCount === ", self.ListOfFiles.count)// EMPTY ARRAY
print("TAGCOUNT == ", self.ListOfTags.count) // EMPTY ARRAY
return cell
}else{
cell.prefix = prefix
cell.content = content
print("KEY" ,content.key)
cell.isHidden = false
return cell
}
}

最佳答案

正确的方法:

  1. 加载数据
  2. 将 Json 解析为对象
  3. 将对象提交到单元格(例如:cell.object = ...)并让单元格自行配置
  4. 重新加载表格 View

关于ios - 数据从全局数组中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44200040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com