来自类的多重继承' NSObject'和' AWSDynamoDBObjectModel'

时间:2015-03-15 14:29:46

标签: ios swift amazon-dynamodb

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

在AWSiOSSDKv2库(我的版本2.0.17)更新日志中,有信息要使用AWSDynamoDBObjectModel而不是AWSDynamoDBModel。

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

  

来自班级的多重继承' NSObject'和' AWSDynamoDBObjectModel'

但是,当我只从AWSDynamoDBObjectModel继承时,AWSDynamoDBModeling我发现了不同的错误:

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

这是班级:

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的新手,我会接受任何帮助,因为我无法在互联网上找到有关此问题的任何内容。

1 个答案:

答案 0 :(得分:1)

这解决了问题

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 } }