【发布时间】:2015-06-12 04:48:43
【问题描述】:
我已经查看了 Stack Overflow 和其他网络资源,了解如何处理异步 PARSE 查询并将这些数据存储到数组中。然后我使用这个数组在另一个视图控制器中填充一个表。代码结构如下:
AppController.swift:
public var BuisnessNames = [NSString]()
[...]
public func updateFeedsMap(){
var query : PFQuery = PFUser.query()!
var objects : [AnyObject]?
var counter = 0
query.whereKey("isProprietor", equalTo: true)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
if error == nil {
// The find succeeded.
println("Successfully retrieved \(objects!.count) scores.")
// Do something with the found objects
if let objects = objects as? [PFObject] {
for object in objects {
dispatch_sync(dispatch_get_main_queue()) {
self.BuisnessNames.append(object ["BusinessName"] as! NSString)
}
}
}
} else {
// Log details of the failure
println("Error: \(error!) \(error!.userInfo!)")
}
}
}
}
RootVC.swift(从 AppController 继承):
override func viewDidLoad() {
if isUserLoggedIn() {
dispatch_async(dispatch_get_main_queue()){
self.updateFeedsMap()
}
}
RootVC 连接到 ViewDidAppear() 中的第三个视图控制器,它使用 BuisnessNames 数组填充表视图。但是,我目前没有将任何数据传递到表格中。我花了很多时间在这上面,我没有想法,请帮忙!谢谢。
【问题讨论】:
标签: ios swift asynchronous parse-platform grand-central-dispatch