Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于信号:分段故障:11,iOS 9命令失败_Ios_Swift_Sqlite - Fatal编程技术网

由于信号:分段故障:11,iOS 9命令失败

由于信号:分段故障:11,iOS 9命令失败,ios,swift,sqlite,Ios,Swift,Sqlite,我最近升级到了Xcode 7。我在6.3和iOS 8.4上运行良好的代码现在不会在编译时出现分段错误 我正在使用SQLite的Stephencelis库。这似乎是问题的根源 我将感谢任何帮助,任何想法。 下面是错误消息的最后一部分: 在/Users/luben/Downloads/SQLite.swift master/SQLite/Query.swift:740:22上检查getter的列名时 当类型检查声明0x7fbab3ee2d68位于/Users/luben/Downloads/SQLi

我最近升级到了Xcode 7。我在6.3和iOS 8.4上运行良好的代码现在不会在编译时出现分段错误

我正在使用SQLite的Stephencelis库。这似乎是问题的根源

我将感谢任何帮助,任何想法。 下面是错误消息的最后一部分:

  • 在/Users/luben/Downloads/SQLite.swift master/SQLite/Query.swift:740:22上检查getter的列名时
  • 当类型检查声明0x7fbab3ee2d68位于/Users/luben/Downloads/SQLite.swift master/SQLite/Query.swift:740:51时
  • 当在[/Users/luben/Downloads/SQLite.swift master/SQLite/Query.swift:740:51-line:774:7]RangeText=”处检查表达式时{ var(columnNames,idx)=(字符串:Int,0) 列:对于self.query.columns中的每个列???[表达式(文字:“*”)]{ 让pair=each.expression.SQL.characters.split{$0==““}.map{String($0)} let(tableName,column)=(pair.count>1?pair.first:nil,pair.last!)

    }()”


  • GitHub上的SQLite.swift项目提供了一个解决方案,它可能解决了这个问题

        func expandGlob(namespace: Bool) -> Query -> Void {
            return { table in
                var query = Query(table.database, table.tableName.unaliased)
                if let columns = table.columns { query.columns = columns  }
                var names = query.selectStatement.columnNames.map { quote(identifier: $0) }
                if namespace { names = names.map { "\(table.tableName.SQL).\($0)" } }
                for name in names { columnNames[name] = idx++ }
            }
        }
    
        if column == "*" {
            let tables = [self.query.select(*)] + self.query.joins.map { $0.table }
            if let tableName = tableName {
                for table in tables {
                    if table.tableName.SQL == tableName {
                        expandGlob(true)(table)
                        continue column
                    }
                }
                assertionFailure("no such table: \(tableName)")
            }
            tables.map(expandGlob(self.query.joins.count > 0))
            continue
        }
    
        columnNames[each.expression.SQL] = idx++
    }
    return columnNames