1

我试图创建一个函数来使用 SWIFT 从 Parse 加载数据。数据在 Parse 中的“crcl”类名中。我不能PFObjectAnyObject我的NSMutableArray“timeLineData”那样通​​过。我没有代码错误,但应用程序在启动时崩溃。

我该怎么办,这是我的代码:

class TimelineTableViewController: UITableViewController {


var timeLineData:NSMutableArray = NSMutableArray ()


func loadData (){

    timeLineData.removeAllObjects()

    var findTimeLineData:PFQuery = PFQuery(className: "crcl")


    findTimeLineData.findObjectsInBackgroundWithBlock{
        (objects:[AnyObject]! , error:NSError!)-> Void in
        if !error{

            for object:AnyObject in objects!   {

                self.timeLineData.addObject(object as PFObject)
            }


            self.tableView.reloadData()
        }
    }
}
4

2 回答 2

2

尝试timeLineData像这样声明您的数组:

var timeLineData = [PFObject]()

这告诉 Swift 这是一个包含stimeLineData的数组。PFObject

然后在你的完成块中使用.append而不是.addObject像这样:

self.timeLineData.append(object as PFObject)

这应该够了吧!

于 2014-10-11T08:56:11.753 回答
0

您正在从块内调用 tableView.reloadData 。您需要像这样调用调度异步:

dispatch_async(dispatch_get_main_queue()) {
                    weakSelf!.tableView.reloadData()
                }

哪里弱了自己!是对自我声明排序的弱引用,例如:

weak var weakSelf : MasterViewController?

MasterViewController 是您所在的任何控制器:)

于 2014-09-09T00:16:01.400 回答