Swift : Type XXX must conform to protocol 'NSObjectProtocol'
Just inherit from NSObject:
class DDBItem : NSObject, AWSDynamoDBModel, AWSDynamoDBModeling {
Self answered for sake of archiving.
When adding
override func isEqual(anObject: AnyObject?) -> Bool { return super.isEqual(anObject)}
to my class, it works.This method should have been inherited from the base class.
Looks like a bug in Swift / Xcode 6.1 to me
Just a heads up for those that stumble upon this post. AWSDynamoDBModeling
protocol has been changed in the latest SDK (v2.1.1). Required functions: dynamoDBTableName
and hashKeyAttribute
must be static. The documentation as of today (5/27/2015) appears to be out of date.
Example:
class Dingle:AWSDynamoDBObjectModel, AWSDynamoDBModeling { static func dynamoDBTableName() -> String! { return "dev_coupons" } static func hashKeyAttribute() -> String! { return "status " } func rangeKeyAttribute() -> String! { return "post_date" } override func isEqual(object: AnyObject?) -> Bool { return super.isEqual(object) }}