【发布时间】:2016-07-24 09:22:54
【问题描述】:
我已经搜索过,但没有找到任何人发布过这样的内容,但是如果是这样,请随时为我指明正确的方向!
所以使用 MVC,我在 UITableviewcontroller 中创建了一个实例
var brainLink = LessonBrain()
这是我的 viewDidLoad,它应该获取数据并填充数组“subjectNameOneDay”:
let todoDictionary = NSUserDefaults.standardUserDefaults().dictionaryForKey("subjectDictionary") ?? [:]
brainLink.parseQuery(self.setupData.integerForKey("pupilNumber"), dictName: "subjectDictionary")
self.subjectNameOneDay = todoDictionary["TwoTuesday"]! as! NSArray
self.tableView.reloadData()
brainLink 实例调用方法 'parseQuery':
func parseQuery(numberToRetreive: Int, dictName:String) {
var tempArray:[String] = []
if self.daysOfTheWeek.contains("\(self.currentDayOfTheWeekForLabel)") {
print(currentDayOfTheWeekForLabel)
print("parse query for data number \(numberToRetreive) started")
let query:PFQuery = PFQuery(className: self.setupData.valueForKey("organisationID") as! String)
query.fromLocalDatastore()
query.whereKey("PupilNumber", equalTo: "\(numberToRetreive)")
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if (error == nil) {
print("Successfully retrieved 2 \(objects)")
for object in objects! {
var periodCounter = 1
while periodCounter <= 6 {
print(self.currentDayOfTheWeekForData)
tempArray.append(object.valueForKey("\(self.currentDayOfTheWeekForData)P\(periodCounter)") as! String)
print(tempArray)
periodCounter += 1
}
self.addItem(tempArray, weekDayPeriod: self.currentDayOfTheWeekForData, dictionaryName: dictName)
}
}else {
print(error!.userInfo)
}
}
}else{
print("It's the weekend!")
}
print("query function returning temp array")
}
这一切正常并填充数组但是我遇到的问题是,无论我尝试了什么或将self.tableView.reloadData() 放在哪里,它都不会在尝试重新加载之前“等待”获取数据桌子。
我可以把这段代码放在哪里/安排它以便它获取数据然后重新加载?
【问题讨论】:
-
将 reloadData 添加到您的回调中,而不是视图加载。至此,新数据将被检索到。
-
为我的无知道歉.....我如何将它添加到我的回调中?你的意思是从 parseQuery 函数返回 self.tableView.reloadData() 吗??
-
是的,但是你需要一个引用地址,所以 _weak MyTableViewClass *MyClass = self.然后在解析查询函数 mylass.reloadData 中(在调用它的方法之前,你应该检查我的类没有被 nil'd 出来)。您需要确保在调用 my class.reloadData 之前也填充了 tableview 数据源。
标签: ios arrays swift uitableview instance-variables