我的应用程序崩溃了这个方法:
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(代码= EXC_I386_BPT,子码=为0x0)
我在viewDidAppear方法中调用此方法。
有没有人知道为什么会这样?
答案 0 :(得分: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)
在swift中,如果你需要一个可变数组,那么使用
var mutableArray = array.reverseObjectEnumerator().allObjects
var是可变的,而let是相反的。