Swift编译器错误命令由于信号失败:分段错误:11

问题描述:

clubComments.removeAllObjects() 
let findClubCommentData:PFQuery = PFQuery(className: "testObject") 

findClubCommentData.findObjectsInBackgroundWithBlock { 
    (objects:[PFObject]?, error:NSError?) -> Void in 
    if (error == nil && objects != nil) { 
     for object:PFObject! in objects!{ 
      self.clubComments.addObject(object) 
     } 

     let array: NSArray = self.clubComments.reverseObjectEnumerator().allObjects 
     self.clubComments = array as! NSMutableArray 
     self.tableView.reloadData() 

从此代码中获取我的错误...有关如何解决它的任何建议?我坚持......Swift编译器错误命令由于信号失败:分段错误:11

+1

你不能投'NSArray'到'NSMutableArray' – vadian

+0

@vadian我该做什么? – Chris

+0

使用Swift本机类型。我写了一个答案。 – vadian

在Swift中总是使用本地收集类型,它可以避免这些错误。例如雨燕阵列具有的功能reverse()reverseObjectEnumerator().allObjects更有效

声明clubComments作为

var clubComments = [PFObject]() 

,然后尝试

clubComments.removeAll() 
let findClubCommentData = PFQuery(className: "testObject") 

findClubCommentData.findObjectsInBackgroundWithBlock { 
      (objects:[PFObject]?, error:NSError?) -> Void in 
    if error == nil { 
     self.clubComments = objects!.reverse() 
     self.tableView.reloadData() 
    } 
}