【发布时间】:2016-02-29 12:01:54
【问题描述】:
我是从 Parse 转移并检查 Kinvey 的小组的一员。但是,我无法保存对象。我得到了错误:
错误:错误域=KCSAppDataErrorDomain 代码=60102“实体没有在 hostToKinveyPropertyMapping 中指定的属性 'NumberOfPlayers'” UserInfo={NSLocalizedRecoverySuggestion=检查 hostToKinveyPropertyMapping 是否有拼写错误。,NSLocalizedDescription=实体没有属性 'NumberOfPlayers'如 hostToKinveyPropertyMapping 中指定的,NSLocalizedFailureReason=无法映射“NumberOfPlayers”,一个不存在的属性}
我在这里按照他们网站上的指南进行操作: http://devcenter.kinvey.com/ios/guides/datastore#create
我的代码:
class Event: NSObject {
var objectId:String?
var Sport:Int?
var NumberOfPlayers:Int?
var SkillLevel:Int?
var Date:NSDate?
var Time:NSDate?
var Competitive:NSNumber?
override func hostToKinveyPropertyMapping() -> [NSObject : AnyObject]! {
return [
"objectId" : KCSEntityKeyId,
"Sport" : "Sport",
"NumberOfPlayers" : "NumberOfPlayers",
"SkillLevel" : "SkillLevel",
"Date" : "Date",
"Time" : "Time",
"Competitive" : "Competitive",
]
}
}
还有节省:
let event = Event()
event.Sport = 0
event.NumberOfPlayers = playerQuantity
event.SkillLevel = skillLevel
event.Date = date
event.Time = time
event.Competitive = competitive
let collection = KCSCollection(fromString: "Event", ofClass: Event.self)
let store = KCSAppdataStore(collection: collection, options: nil)
// let store = KCSAppdataStore.storeWithOptions([
// KCSStoreKeyCollectionName : "Event",
// KCSStoreKeyCollectionTemplateClass : Event.self
// ])
store.saveObject(event, withCompletionBlock: { (objects, error) -> Void in
if error != nil { print("error : \(error)"); return }
print("saved objects")
}, withProgressBlock: nil)
创建 DataStore 的方法都没有奏效。它们都返回相同的错误。
我还检查了AppId 和AppSecret 是否都正确。我可以sign up 用户和login 好的,我只是无法保存数据。
有什么想法吗?
【问题讨论】:
-
已修复:属性不能是 Int?类型。相反,它们必须是 NSNumbers