KCSPersistable с быстрой ошибкой

Я тщательно исследовал это. Услышав новость о Parse на днях, я возился с использованием Kinvey для моего BaaS. Я пытаюсь сохранить объект, но получил ошибку, связанную с KCSPersistable.

    class Event : NSObject{
      var entityId: String? //Kinvey entity _id
      var name: String?
      var date: NSDate?
      var location: String?
      var metadata: KCSMetadata? //Kinvey metadata, optional
     }



    func hostToKinveyPropertyMapping() -> [NSObject : AnyObject]! {
       return [
            "entityId" : KCSEntityKeyId, //the required _id field
            "name" : "name",
            "date" : "date",
            "location" : "location",
            "metadata" : KCSEntityKeyMetadata //optional _metadata field
             ]
      }

Swift называет это избыточным для NSObject из-за суперкласса. Я удалил объявление KCSPersistable, и код будет скомпилирован успешно, однако теперь я получаю следующую ошибку:

    'Object "<KinveyPractive.Event: 0x7fed18d484c0>" of type "KinveyPractive.Event" does not implement 'hostToKinveyPropertyMapping', a required 'KCSPersistable' method for saving the object to the backend'

Я сталкиваюсь с циклом проблем. Если я удаляю KCSPersistable, Xcode запрашивает его. Однако, если я оставлю это, Xcode не будет компилироваться.

1 ответ

Проблема, которую вы увидели, заключалась в том, что NSObjects в Kinvey неявно реализуют KCSPersistable.

Мы исправили нашу документацию, чтобы отразить это. Пожалуйста, используйте следующий пример вместо вашего кода -

class Event : NSObject {

    var entityId: String? //Kinvey entity _id
    var name: String?
    var date: NSDate?
    var location: String?
    var metadata: KCSMetadata? //Kinvey metadata, optional

    override func hostToKinveyPropertyMapping() -> [NSObject : AnyObject]!     {
        return [
            "entityId" : KCSEntityKeyId, //the required _id field
            "name" : "name",
            "date" : "date",
            "location" : "location",
            "metadata" : KCSEntityKeyMetadata //optional _metadata field
        ]
    }

}
Другие вопросы по тегам