来自 类 'NSObject' 和 'AWSDynamoDBObjectModel' 的多重继承
Multiple inheritance from classes 'NSObject' and 'AWSDynamoDBObjectModel'
我正在尝试在 Swift 中创建 DynamoDB 对象模型 class 来表示我的 table 结构并使用它来执行 CRUD 操作。
在 AWSiOSSDKv2 库(我的版本 2.0.17)更新日志中有使用 AWSDynamoDBObjectModel 而不是 AWSDynamoDBModel 的信息。
当我的 class 从 NSObject、AWSDynamoDBObjectModel、AWSDynamoDBModeling 继承时,我收到以下错误(我的理解是在 Swift 中我们只能从 super class 继承,因此这甚至有道理...):
Multiple inheritance from classes 'NSObject' and '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 } }
我正在尝试在 Swift 中创建 DynamoDB 对象模型 class 来表示我的 table 结构并使用它来执行 CRUD 操作。
在 AWSiOSSDKv2 库(我的版本 2.0.17)更新日志中有使用 AWSDynamoDBObjectModel 而不是 AWSDynamoDBModel 的信息。
当我的 class 从 NSObject、AWSDynamoDBObjectModel、AWSDynamoDBModeling 继承时,我收到以下错误(我的理解是在 Swift 中我们只能从 super class 继承,因此这甚至有道理...):
Multiple inheritance from classes 'NSObject' and '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 } }