Невозможно преобразовать значение типа «String» в ожидаемый тип аргумента «Int64», выражение, [дубликат]IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно преобразовать значение типа «String» в ожидаемый тип аргумента «Int64», выражение, [дубликат]

Сообщение Anonymous »

Cannot convert value of type 'String' to expected argument type 'Int64'

или
Cannot convert value of type 'Expression' to expected argument type 'Expression'

Эти ошибки появляются после того, как проект был обновлен/изменен до минимальной версии iOS 16.0+ с использованием SQLite pods.
Суть этой ошибки заключается в разных языках.
import Foundation
import SQLite

class Sql {

var i = [Int64]()
var c = [UIColor]()
var n = [String]()
var d = [String]()

func read() -> ([Int64], [UIColor], [String], [String]){

// Wrap everything in a do...catch to handle errors
do {
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let dbFile = "\(path.first ?? "")/db.sqlite3"
let db = try Connection(dbFile)

let history = Table("history")
let id = Expression(value: "id")
let dbname = Expression(value: "name")
let dbr = Expression(value: "r")
let dbg = Expression(value: "g")
let dbb = Expression(value: "b")
let dbdate = Expression(value: "date")

let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd HH:mm:ss"

let exist = try db.scalar(history.exists)
if !exist {
do {
print("not exist - create DB")
try db.run(history.create { t in
t.column(id, primaryKey: true)
t.column(dbname)
t.column(dbr)
t.column(dbg)
t.column(dbb)
t.column(dbdate)
})
} catch {
print("catch error - creating database for save")
print(error)
}
print("create successful")
} else {
print("exist db already")
}
i.removeAll()
c.removeAll()
n.removeAll()
d.removeAll()

// check print
for color in try db.prepare(history.order(dbdate.desc)) {

i.append(color[id])
c.append(UIColor(
red: CGFloat((Double((color[dbr])) ?? 0)/255.0),
green: CGFloat((Double((color[dbg])) ?? 0)/255.0),
blue: CGFloat((Double((color[dbb])) ?? 0)/255.0), alpha: 1.0))
n.append(color[dbname])
let readDate = df.string(from: color[dbdate])
d.append(readDate)
}

} catch {
print("catch. Stopped before read :(")
print (error)
}
return (i, c, n, d)
}

}


Подробнее здесь: https://stackoverflow.com/questions/792 ... 64-express
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»