【发布时间】:2016-01-11 01:25:00
【问题描述】:
我正在编写一个应用程序来帮助我在解析时更新我的数据库,并且我正在尝试将对象加载到 nstableview 中。
无论出于何种原因,我在视图控制器中进行调用时返回 nil,因此我将数据移动到我的 appdelegate 以获取对象。
let storyBoard = NSStoryboard(name: "Main", bundle: nil)
let myVC = storyBoard.instantiateControllerWithIdentifier("teacher") as! ViewController
var teachers = [Teacher]()
let query = PFQuery(className: "TeacherList")
query.findObjectsInBackgroundWithBlock {
objects, error in
if let objects = objects {
for object in objects {
let teacher = Teacher()
teacher.name = object["name"] as! String
teacher.email = object["email"] as! String
teacher.subjectsTaught = object["subjectsTaught"] as! [String: String]
teacher.category = object["category"] as! String
teacher.uniqueID = object.objectId!
teachers.append(teacher)
}
}
print(teachers)
myVC.teacherList = teachers
}
如您所见,我将其传递给了我的 VC。所以我知道我需要重新加载数据,因为 viewDidLoad() 将在数据下载之前被调用。我已经尝试将 tableView.reloadData() 放入教师列表的 didSet 中,以防万一在视图加载之前设置,我什至将它放入 viewdidload。
var teacherList: [Teacher]? {
didSet {
print("got set")
tableView.reloadData()
}
}
override func viewDidLoad() {
super.viewDidLoad()
tableView.setDelegate(self)
tableView.setDataSource(self)
tableView.reloadData()
}
但是,无论如何,对于 viewdidload 之后发生的任何事情,我的 tableview 都是 nil。我还在我的 getSet 中尝试了可选的 channing。 我还应该说我是 OSX 编程的新手,因为我已经完成了大部分 iOS 编程。
我可以将查询放在我的 VC 中,但是每当我运行查询时,我都会返回 nil。
【问题讨论】:
标签: swift macos nstableview