【问题标题】:KCSPersistable with Swift Error带有 Swift 错误的 KCSPersistable
【发布时间】:2016-05-08 08:30:15
【问题描述】:

我对此进行了广泛的研究。前几天听到有关 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 将无法编译。

【问题讨论】:

    标签: ios xcode swift kinvey mbaas


    【解决方案1】:

    您看到的问题是因为 Kinvey 中的 NSObjects 隐式实现了 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
            ]
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 2017-05-03
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      相关资源
      最近更新 更多