Ios Xcode:使用Firebase时出现持续分段错误:11
我对你很生气 由于信号:分段故障:11,命令失败 当我在项目中使用Firebase时 我在这里读到了很多关于这个Xcode错误的问题,但在使用Firebase时它会被发送出去 我尝试了许多解决方案,如清理项目、重建、禁用位代码、删除派生数据等 我的代码:Ios Xcode:使用Firebase时出现持续分段错误:11,ios,swift,xcode,firebase,firebase-realtime-database,Ios,Swift,Xcode,Firebase,Firebase Realtime Database,我对你很生气 由于信号:分段故障:11,命令失败 当我在项目中使用Firebase时 我在这里读到了很多关于这个Xcode错误的问题,但在使用Firebase时它会被发送出去 我尝试了许多解决方案,如清理项目、重建、禁用位代码、删除派生数据等 我的代码: @IBAction func saveBook(sender: UIBarButtonItem) { var arrayOfNames : [String] = [String]() for i in 0 ..<
@IBAction func saveBook(sender: UIBarButtonItem) {
var arrayOfNames : [String] = [String]()
for i in 0 ..< 6 {
let indexPath = NSIndexPath(forRow:i, inSection:0)
let cell : LongNameTableViewCell? = self.tableView.cellForRowAtIndexPath(indexPath) as! LongNameTableViewCell?
if let item = cell?.textField.text {
arrayOfNames.append(item)
}
}
self.ref.child("books").childByAutoId().setValue(["title": arrayOfNames[0], "author": arrayOfNames[1], "pages_count":arrayOfNames[2]])
self.dismissViewControllerAnimated(true, completion: nil)
}
@iAction func存储本(发件人:UIBarButtonItem){
变量arrayOfNames:[String]=[String]()
对于0..<6中的i{
设indexPath=NSIndexPath(forRow:i,第0节)
让单元格:LongNameTableViewCell?=self.tableView.CellForRowatineXpath(indexPath)作为!LongNameTableViewCell?
如果let item=cell?.textField.text{
arrayOfNames.append(项目)
}
}
self.ref.child(“books”).childByAutoId().setValue([“title”:arrayOfNames[0],“author”:arrayOfNames[1],“pages_count”:arrayOfNames[2])
self.dismissViewControllerAnimated(真,完成:无)
}
正如类似问题中通常提到的,当Xcode由于某种原因无法解析代码等式时,就会出现此问题。变量类型不明确
虽然这是一个推荐的解决方案,但它对我很有效:
self.ref.child("books").childByAutoId().setValue(["title":arrayOfNames[0] as! String, "author": arrayOfNames[1] as! String, "pages_count":arrayOfNames[2] as String!])
很明显,现在Xcode显示警告,这种类型的转换没有意义,但幸运的是,这清除了错误消息
编辑
Xcode 8删除了所有这些问题。我解决这个问题的方法是反向工作并注释出可能导致问题的逻辑。应该在错误的正下方指定了一个类文件。我的问题是我有一个使用这种方法的超级类:
func queryAssetsFromDB() -> [AssetDTO]? {
return nil
}
而我却用
override func queryAssetsFromDB() -> [AssetDTO] {
let cryptos = assetManager.findAllCrypto()
return cryptos
}
请注意,在podfile中的响应数组中有一个可选选项,您可以尝试使用\u框架取消注释
use_frameworks!
pod 'Firebase'
pod 'Firebase/Database'
pod 'Firebase/Auth'
然后在终端中运行“pod更新”。重新启动Xcode项目
在与分段错误11斗争了两天之后,我终于做到了这一点。与我的情况相比,这很奇怪,因为我需要做的唯一解决方案是清理我的项目文件夹,以避免失败。我总是使用框架。对我来说,将xcode更新为8解决了这个问题