我可以在 AWSDynamoDBModel 的子类中使用 swift 字典吗?
Can I use a swift dictionary in a subclass of AWSDynamoDBModel?
我有一个 class 继承自 AWSDynamoDBModel 并遵守 AWSDynamoDBModeling 协议。示例:
class ProfileDatabaseModel : AWSDynamoDBModel, AWSDynamoDBModeling {
var userid: String
var firstName: String
var lastName: String
var someOtherStuff: [String: String] // IS THIS OK?
// assume some other details here, like initializations
class func dynamoDBTableName() -> String! {
return "atable"
}
class func hashKeyAttribute() -> String! {
return "userid"
}
}
使用这样的 class,我可以执行以下几行,使用此 class 的实例化中的数据更新 DynamoDB:
var db = AWSDynamoDBObjectMapper.defaultDynamoDBObjectMapper()
var model = ProfileDatabaseModel()
// fill in model data
let task: BFTask = db.save(model)
我的问题是:我可以在对象中包含那个字典吗?这适用于对象映射器吗?如果不是作为 Swift 字典,它可以用作 NSDictionary 吗?或者,我需要将其翻译成 JSON 格式吗?
目前,AWSDynamoDBObjectMapper
支持:
NSNumber
NSString
NSData
NSArray
以上三种数据类型
NSDictionary
不受支持,但我们正在评估如何在即将发布的版本中支持地图数据类型。
我有一个 class 继承自 AWSDynamoDBModel 并遵守 AWSDynamoDBModeling 协议。示例:
class ProfileDatabaseModel : AWSDynamoDBModel, AWSDynamoDBModeling {
var userid: String
var firstName: String
var lastName: String
var someOtherStuff: [String: String] // IS THIS OK?
// assume some other details here, like initializations
class func dynamoDBTableName() -> String! {
return "atable"
}
class func hashKeyAttribute() -> String! {
return "userid"
}
}
使用这样的 class,我可以执行以下几行,使用此 class 的实例化中的数据更新 DynamoDB:
var db = AWSDynamoDBObjectMapper.defaultDynamoDBObjectMapper()
var model = ProfileDatabaseModel()
// fill in model data
let task: BFTask = db.save(model)
我的问题是:我可以在对象中包含那个字典吗?这适用于对象映射器吗?如果不是作为 Swift 字典,它可以用作 NSDictionary 吗?或者,我需要将其翻译成 JSON 格式吗?
目前,AWSDynamoDBObjectMapper
支持:
NSNumber
NSString
NSData
NSArray
以上三种数据类型
NSDictionary
不受支持,但我们正在评估如何在即将发布的版本中支持地图数据类型。