gpt4 book ai didi

ios - 无法将类型 '__NSCFNumber' (0x25418e000) 的值转换为 'NSString'

转载 作者:行者123 更新时间:2023-11-28 13:29:26 30 4
gpt4 key购买 nike

在将我的 Mac OS 和 Xcode 从 7 更新到 11.1 并将 Swift 2.2 更新到 Swift 4 后,我在查询 Stored in aWords: String 中收到标题错误:以前代码在 swift 2.2 中运行完美,但现在这个查询给出了一个错误并且没有得到修复。查询访问数据库获取国家和城市名称,然后是纬度和经度。


func updateSearchResults(for searchController: UISearchController)
{
if searchController.searchBar.text == ""
{
return
}
self.openDatabase()
filteredResults.removeAllObjects()
if let wordsResultSet = database.executeQuery(
"SELECT * FROM citiesTable,country WHERE country.country_id =
citiesTable.country_id and cityName LIKE '\
(searchController.searchBar.text!)%' LIMIT 50", withArgumentsIn: nil)

{
while wordsResultSet.next()
{
let aWord: String = (wordsResultSet["cityName"] as! String) + " ,
" + (wordsResultSet["name"] as! String) + "-$-" +
(wordsResultSet["latitude"] as! String) + "-$-" +
(wordsResultSet["longitude"] as! String)

filteredResults.add(aWord)
}
} else {
print("select failed: \(String(describing: database.lastErrorMessage()))")
}

database.close()
self.tableVw.reloadData()

}

代码中的错误信息 enter image description hereswift 2.2 中代码的先前工作输出是:

this

最佳答案

错误#1

Could not cast value of type '__NSCFNumber' (0x25418e000) to 'NSString'

解决方案:

将纬度和经度转换为Double


错误#2

The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions

解决方案:

将字典值赋给变量,然后用 Sting Interpolation 连接字符串


let city = wordsResultSet["cityName"] as! String
let name = wordsResultSet["name"] as! String
let latitude = wordsResultSet["latitude"] as! Double
let longitude = wordsResultSet["longitude"] as! Double

let aWord = "\(city) , \(name)-$-\(latitude)-$-\(longitude)"

关于ios - 无法将类型 '__NSCFNumber' (0x25418e000) 的值转换为 'NSString',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57661826/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com