Класс FMPQuery предназначен для описания запроса данных.
class FMPQuery
Свойство | Описание |
query | SQL-запрос в базу данных.
var query: String { get } |
Метод | Описание |
download(transactions:completion:) |
Загрузка табличных данных в базу данных.
func download(transactions: [FMPTransaction] = [], completion: @escaping ([DownloadResponse]) -> Void) Параметры:
|
get() | Выполнение SQL-запроса в базу данных.
func get() throws -> QueryResult? |
copy() | Получение экземпляра класса-строителя для копирования FMPQuery.
Возвращает экземпляр класса-строителя FMPQuery.Builder.
func copy() -> FMPQuery.Builder |
Загрузка табличных данных в базу данных:
// Построим экземпляр класса FMPQuery
let query: FMPQuery = fmp.query.build()
// Загрузим данные указанных в запросе ресурсов
query.download() { (responses) in
if !responses.map({ $0.success }).contains(false) {
// Все данные указанных в запросе ресурсов успешно загружены в базу данных
} else {
// Выведем коды и описания ошибок
responses.compactMap({ $0.error as? FMPError }).forEach {
print($0.code, $0.description)
}
}
}
// Загрузим данные с указанием транзакции
let transaction: FMPTransaction
query.download(transactions: [transaction]) { (responses) in
if !responses.map({ $0.success }).contains(false) {
// Все данные указанных в запросе ресурсов успешно загружены в базу данных
} else {
// Выведем коды и описания ошибок
responses.compactMap({ $0.error as? FMPError }).forEach {
print($0.code, $0.description)
}
}
}
Выполнение SQL-запроса:
// Построим экземпляр класса FMPQuery
let query: FMPQuery = fmp.query.build()
// Получим результат SQL-запроса в базу данных
do {
let sqlResult = try query.get()
} catch let error {
// Выведем код и описание ошибки
print((error as? FMPError)?.code, (error as? FMPError)?.description)
}
Копирование экземпляра класса FMPQuery:
// Построим экземпляр класса FMPQuery
let query: FMPQuery = fmp.query.build()
// Скопируем экземпляр класса FMPQuery
let queryCopy: FMPQuery = query.copy().build()
См. также: