SCObject
SCObject
SCObject
Содержание
- SCObject
- init Object(collection, id?)
- .set(dic)
- .save(callback
- .getById(id, collection, callback)
- .get(name)
- .upload(field, filename, data, callback
- .getFileLink(fieldName, callback)
- .deleteFile (field, filename, callback)
- .remove(callback)
- .push(name, _ value)
- .pushEach(name, _ value)
- .pull(name, _ value)
- .pullAll(name, _ value)
- .addToSet(name, _ value)
- .addToSetEach(name, _ value)
- .pop(name, _ value)
- .inc(name, _ value)
- .currentDate(name, typeSpec)
- .mul(name, _ value)
- .min(name, _ value)
- .max(name, _ value)
init Object(collection, id?)
SCObject представляет объект данных приложения и включает методы для работы с этими данными. Конструктор формирует минимальную базовую "обёртку" для пользовательских данных.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
collection | String |
Обязательное | Имя коллекции в которую добавляется объект | "testcoll" |
id | String |
_id объекта | "huNr3L7QDh" |
Пример
// Создадим новый экземпляр объекта коллекции items.
let obj1 = SCObject(collection: "items", id: "huNr3L7QDh")
let obj2 = SCObject(collection: "items")
.set(dic)
Метод для передачи данных объекту
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
dic | [String: SCValue] |
Объект с данными для передачи объекту | ["fieldString": SCString("NewValue")] |
Пример
let newItem = SCObject(collection: "items")
newItem.set([
"fieldString": SCString("Some test string"),
"readACL": SCArray([SCString("*"), SCString("0123456789")])
])
newItem.save() {
success, error, result in
if success {
// ...
} else {
if let error = error {
// ...
}
}
}
.save(callback)
Метод сохраняет объект в хранилище данных приложения или обновляет уже имеющийся там объект
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?, [String: AnyObject]?) |
Коллбэк для выполняемого запроса. |
Пример
let newItem = SCObject(collection: "items")
newItem.set(["fieldName": SCString("Value")])
newItem.save() {
success, error, result in
if success {
// ...
} else {
if let error = error {
// ...
}
}
}
.getById(id, collection, callback)
Метод для для получения объекта коллекции из БД по его _id.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
id | String |
Обязательный | Идентификатор объекта | "huNr3L7QDh" |
collection | String |
Обязательный | Имя коллекции | "items" |
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
SCObject.getById("p3OtsLXw8p", collection: "items") {
success, error, result in
if success {
print("Success")
} else {
if let error = error {
print("Error")
}
}
}
.get(name)
Метод для получения данных указанного поля объекта.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля | "price" |
Пример
let dataItem = SCObject(collection: "items", id: "huNr3L7QDh")
dataItem.get("price")
.upload(field, filename, data, callback)
Метод для загрузки файлов
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
field | String |
Обязательный | Имя поля, в которое загружается файл | "attachments" |
filename | String |
Обязательный | Имя файла | "docname.pdf" |
data | NSData |
Обязательный | ||
callback | (Bool, SCError?) |
Коллбэк для выполняемого запроса. |
Пример
let newItem = SCObject(collection: "items")
let image = UIImage(named:"forupload")
newItem.set([
"description": SCString("Example upload")
])
newItem.save() {
success, error, result in
if success {
newItem.upload("attachment", "swiftDocs.pdf", data: image) {
success, error, result in
if success {
print("Success")
} else {
if let error = error {
print("Error")
}
}
}
} else {
if let error = error {
print("Error")
}
}
}
.getFileLink(fieldName, callback)
Метод для получения ссылки на файл.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
fieldName | String |
Обязательный | Имя файла | "attachments" |
callback | (Bool, SCError?) |
Коллбэк для выполняемого запроса. |
Пример
let item = SCObject(collection: "items", id: "huNr3L7QDh")
item.getFileLink("attachment")
if success {
print("Success")
} else {
if let error = error {
print("Error")
}
}
}
.deleteFile(field, filename, callback)
Метод для удаления файла
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
field | String |
Обязательный | Имя поля | "attachments" |
filename | String |
Обязательный | Имя файла | "docname.pdf" |
callback | (Bool, SCError?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
let item = SCObject(collection: "items", id: "huNr3L7QDh")
item.delete("attachment", "swiftDocs.pdf")
if success {
print("Success")
} else {
if let error = error {
print("Error")
}
}
}
.remove(callback)
Метод для удаления указанного объекта
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?) |
Коллбэк для выполняемого запроса. |
Пример
let item = SCObject(collection: "items", id: "huNr3L7QDh")
obj.remove() {
success, error, result in
if success {
print("Success")
} else {
if let error = error {
print("Error")
}
}
}
.push(name, _ value)
Метод для добавления элемента в массив.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "tags" |
_ value | SCValue |
Обязательный | Значение нового элемента массива | 42 |
Пример
let editItem = SCObject(collection: "items")
editItem.push("location", SCString("Sierra Army Depot"))
.pushEach(name, _ value)
Метод для добавления нескольких элементов в массив.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "tags" |
_ value | SCValue |
Обязательный | Значения новых элементов массива | 42, [43,43], 44 |
Пример
let editItem = SCObject(collection: collection)
editItem.pushEach("location", SCArray([SCString("Sierra Army Depot"), SCString("Navarro")]))
.pull(name, _ value)
Метод для удаления всех элементов массива, значение которых равно указанному.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "tags" |
_ value | SCPullable |
Обязательный | Удаляемое значение | 42 |
Пример
let editItem = SCObject(collection: "streets")
editItem.pull("homeNumbers", SCInt(34))
.pullAll(name, _ value)
Метод для удаления всех элементов массива, значения которых равны одному из указанных значений.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "tags" |
_ value | SCValue |
Обязательный | Массив удаляемых значений | [42, 44] |
Пример
let editItem = SCObject(collection: "streets")
editItem.pullAll("homeNumbers", SCArray(integerArray: [34,56]))
.addToSet(name, _ value)
Метод для добавления элемента в массив только в том случае, если в массиве отсутствуют элементы с таким значением.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "tags" |
_ value | SCValue |
Обязательный | Значение нового элемента массива | 42 |
Пример
let editItem = SCObject(collection: "items")
editItem.addToSet("location", SCString("A"))
.addToSetEach(name, _ value)
Метод для добавления элементов в массив только в том случае, если в массиве отсутствуют элементы с таким значением.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "tags" |
_ value | SCValue |
Обязательный | Массив значений новых элементов массива | [42, 43] |
Пример
let editItem = SCObject(collection: "items")
editItem.addToSetEach("location", SCArray([SCString("Sierra Army Depot"), SCString("Navarro")]))
.pop(name, _ value)
Метод для удаления первого или последнего элемента массива
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "tags" |
_ value | Int |
Обязательный | Позиция удаляемого элемента в массиве: -1 для первого элемента и 1 для последнего | -1 |
Пример
let editItem = SCObject(collection: "items")
editItem.pop("location", 1)
.inc(name, _ value)
Метод увеличивает значение числового поля на заданное число
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "price" |
_ value | SCValue |
Обязательный | Шаг изменения | 5 |
Пример
let editItem = SCObject(collection: "items")
editItem.inc("amount", SCInt(-14))
.currentDate(name, typeSpec)
Устанавливает текущее время в качестве значения поля
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "price" |
typeSpec | SCValue |
Обязательный | Тип даты. Принимает значения: true, 'date' или 'timestamp' | "timestamp" |
Пример
let editItem = SCObject(collection: "items")
editItem.currentDate("someDate", typeSpec: "date")
.mul(name, _ value)
Метод умножает значение числового поля на заданное число
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "price" |
_ value | SCValue |
Обязательный | Мультипликатор | 2.5 |
Пример
let editItem = SCObject(collection: "items")
editItem.min("price", SCDouble(42.42))
.min(name, _ value)
Метод обновляет значение числового поля только в случае, если новое значение меньше текущего значения поля
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "price" |
_ value | SCValue |
Обязательный | Новое значение | 42 |
Пример
let editItem = SCObject(collection: "items")
editItem.min("price", SCInt(42))
.max(name, _ value)
Метод обновляет значение числового поля только в случае, если новое значение больше текущего значения поля
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя поля, значение которого нужно изменить | "price" |
_ value | SCValue |
Обязательный | Новое значение | 43 |
Пример
let editItem = SCObject(collection: "items")