-1

我的应用程序在这种方法上崩溃了:

func loadData() {
    timelineData.removeAllObjects()

    var findTimelineData:PFQuery = PFQuery(className:"AllTweets")
    findTimelineData.findObjectsInBackgroundWithBlock {
        (objects:[AnyObject]!, error:NSError!)-> Void in
        if (error == nil) {
            for object:AnyObject in objects {
                self.timelineData.addObject(object as PFObject)
            }

            let array:NSArray = self.timelineData.reverseObjectEnumerator().allObjects
            self.timelineData = array as NSMutableArray
            self.tableView.reloadData()
        }
    }
}

它抛出的错误是:ECX_BREAKPOINT(code=EXC_I386_BPT,subcode=0x0)

我在 viewDidAppear 方法中调用此方法。

有人知道为什么会这样吗?

4

1 回答 1

0

reverseObjectEnumerator().allObjects 将返回一个 NSArray,无论原始数组的类型是否为 Mutable。(https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSEnumerator_Class/index.html#//apple_ref/occ/instp/NSEnumerator/allObjects

迅速,如果你需要一个可变数组,然后使用

var mutableArray = array.reverseObjectEnumerator().allObjects

var 是可变的,而 let 是相反的。

于 2014-11-09T13:56:57.940 回答