我可以在AWSDynamoDBModel的子类中使用swift字典吗?

时间:2015-01-13 06:28:21

标签: ios swift amazon-web-services amazon-dynamodb

我有一个继承自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"
    }
}

使用这样的类,我可以执行以下几行,用这个类的实例化中的数据更新DynamoDB:

var db = AWSDynamoDBObjectMapper.defaultDynamoDBObjectMapper()
var model = ProfileDatabaseModel()
// fill in model data
let task: BFTask = db.save(model)

我的问题是:我可以在对象中使用该字典吗?这会与对象映射器一起使用吗?如果不是作为Swift词典,它会作为NSDictionary吗?或者,我是否需要将其翻译为JSON格式?

1 个答案:

答案 0 :(得分:1)

目前,AWSDynamoDBObjectMapper支持:

  1. NSNumber
  2. NSString
  3. NSData
  4. NSArray以上三种数据类型
  5. NSDictionary不受支持,但我们正在评估如何在即将发布的版本中支持map数据类型。