gpt4 book ai didi

ios - 重新加载 TableView 不显示所有对象

转载 作者:行者123 更新时间:2023-11-30 13:45:15 26 4
gpt4 key购买 nike

在我的代码中有一个循环,它转到一个数组并将该数组内的所有对象添加到另一个数组中。第二个数组中的对象是 TableView 中显示的对象。因此,每次执行循环时,我都会将对象附加到第二个数组中。在该循环之后,我重新加载表格 View ,但有时它不会显示所有对象?!我认为这是因为即使附加过程尚未完成,它也会开始执行重新加载代码?完成其他操作后如何重新加载表格 View ?这是我的代码,我正在使用 Parse,因此查询来自解析服务器并返回一个数组。 matesIdsAndNames 是字典,其余都是数组。

if mateUserObject.isEmpty == false{

for mateId in mateUserObject{



let date = NSDate()
let dateInt = date.timeIntervalSince1970

let query = PFQuery(className: "calendarEvents")
query.whereKey("createdBy", equalTo: mateId)
query.whereKey("StartDate", lessThan: dateInt)
query.whereKey("EndDate", greaterThan: dateInt)
query.cachePolicy = .NetworkOnly
query.findObjectsInBackgroundWithBlock({ (objects:[PFObject]?, error:NSError?) -> Void in

if error != nil{
print(error)
}else{

if objects?.isEmpty == true{
self.freeMateIds.append(mateId.objectId!)
print(self.freeMateIds)
if self.mateUserObject.last == mateId{


if self.freeMateIds.isEmpty == false{


for freeMate in self.freeMateIds{

let oneFreeMate = self.matesIdsAndNames[freeMate]
self.freeMateNames.append(oneFreeMate!)
print(self.freeMateNames)
}

}
self.MatesTableView.reloadData()

}

}

}


})



}


}

}

最佳答案

您正在从多个后台进程向数组添加对象,但 swift 数组不是线程安全的。一种选择是 Google“swift 线程安全数组”并使用提供的一些示例代码。

关于ios - 重新加载 TableView 不显示所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35025187/

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