AWSDynamoDBObjectModel

AWSDynamoDBObjectModel

我试图在Swift中创建DynamoDB对象模型类来表示我的表结构,并使用它执行CRUD操作。

在AWSiOSSDKv2库(我的版本2.0.17)中,更改日志中包含使用AWSDynamoDBObjectModel代替AWSDynamoDBModel的信息。

当我的类从NSObject,AWSDynamoDBObjectModel,AWSDynamoDBModeling继承时,我收到以下错误(我的理解是,在Swift中,我们只能从 super class 继承,因此这甚至很有意义...):

从类“NSObject”和“AWSDynamoDBObjectModel”的多重继承

但是,当我仅从AWSDynamoDBObjectModel继承时,AWSDynamoDBModeling会收到其他错误:

Type 'Test' does not conform to protocol 'NSObjectProtocol'

这是 class :
class Test: NSObject, AWSDynamoDBObjectModel, AWSDynamoDBModeling  {
    var hashKeyString: String?
    var rangeKeyString: String?
    var firstAttribute: String?

    class func dynamoDBTableName() -> String! { return "Test" }
    class func hashKeyAttribute() -> String! { return "hashKeyAttribute" }
    class func rangeKeyAttribute() -> String! { return "rangeKeyAtrribute" }
}

我是Swift和AWS的新手,我将不胜感激,因为我在Internet上找不到任何有关此问题的信息。

最佳答案

这解决了问题

class Test: AWSDynamoDBObjectModel, AWSDynamoDBModeling  {
var hashKeyString: String?
var rangeKeyString: String?
var firstAttribute: String?

class func dynamoDBTableName() -> String! { return "Test" }
class func hashKeyAttribute() -> String! { return "hashKeyAttribute" }
class func rangeKeyAttribute() -> String! { return "rangeKeyAtrribute" }

override func isEqual(object: AnyObject?) -> Bool { return super.isEqual(object) }
override func `self`() -> Self { return self } }

关于ios - 从类“NSObject”和“AWSDynamoDBObjectModel”的多重继承,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29061760/

10-13 04:27