Я создал собственный класс для PFQuery
и PFObject
, где я просто наследую / расширяю эти классы, чтобы не беспокоиться об импорте Parse везде, где я использую запрос или объект.
Однако я столкнулся с проблемой при попытке смешать PFQuery
и PFObject
вместе с их настраиваемым классом.
Вот мои пользовательские классы, которые теоретически должны теперь иметь те же свойства и эффекты, что и PFObject
и PFQuery
, что они и делают в большинстве случаев.
class CustomQuery: PFQuery {
override init(className:String) {
super.init(className: className)
}
}
class CustomObject: PFQbject {
override init(className:String) {
super.init(className: className)
}
}
Но я столкнулся с проблемой при попытке использовать функцию "..InBackgroundWithBlock" из запроса. Вот код:
func GetAsyncObjects(query:CustomQuery, closure: (dataObjects:[CustomObject]) -> ()) {
query.findObjectsInBackgroundWithBlock {(returnedObjects:[CustomObject]!, error:NSError?) -> Void in
closure(dataObjects: returnedObjects!)
}
}
Ошибка возникает во второй строке вышеприведенного блока, в "ReturnObjects: [CustomObject]!" со следующей ошибкой:
Невозможно преобразовать значение типа '([CustomObject] !, NSError?) -> Void »в ожидаемый тип аргумента« PFQueryArrayResultBlock? »
Я буквально не могу найти решение для этого. Очевидно, изменение CustomObject на PFObject
будет работать, но это делает весь смысл моих CustomObject и CustomQuery устаревшим.
Спасибо!