Swift 编译器错误命令因信号而失败:分段错误:11
Posted
技术标签:
【中文标题】Swift 编译器错误命令因信号而失败:分段错误:11【英文标题】:Swift Compiler Error Command failed due to signal: Segmentation fault: 11 【发布时间】:2016-07-15 19:48:07 【问题描述】: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()
从此代码中获取我的错误...有关如何修复它的任何建议?我卡住了...
【问题讨论】:
您不能将NSArray
转换为NSMutableArray
@vadian 我该怎么做?
使用 Swift 原生类型。我写了一个答案。
【参考方案1】:
在 Swift 中总是使用原生集合类型,它可以避免这些错误。例如 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()
【讨论】:
以上是关于Swift 编译器错误命令因信号而失败:分段错误:11的主要内容,如果未能解决你的问题,请参考以下文章
Swift 编译器错误,由于信号导致命令失败:分段错误:11