Я пытаюсь реализовать класс Swift, который должен
- Наследовать от класса Objective-C
- Внедрить протокол Objective-C с переменной класса.
Хотя класс Objective-C class я является подклассом, наследуется от NSObject, я получаю следующую ошибку компиляции:
Type DDBItem must conform to protocol 'NSObjectProtocol'
Протокол Objective-C и Objective-C, который я наследую/реализую, доступны на https://github.com/aws/aws-sdk-ios/blob/master/DynamoDB/AWSDynamoDBObjectMapper.h
AWSDynamoDBModel имеет длинную цепочку наследования, которая в конечном итоге начинается с NSObject AWSDynamoDBModeling использует две переменные класса.
Мой код
class DDBItem : AWSDynamoDBModel, AWSDynamoDBModeling {
// class var dynamoDBTableName : String { get { return "" }}
// class var hashKeyAttribute : String { get { return "" }}
class func dynamoDBTableName() -> String! {
return ""
}
class func hashKeyAttribute() -> String! {
return ""
}
}
Бонусный вопрос: при попытке реализовать переменные класса, указанные в протоколе Objective-C, как переменные класса Swift, я получаю ошибку компиляции:
Type DDBItem must conform to protocol 'AWSDynamoDBModeling'
Реализация их как функции, по-видимому, принимается. Почему?