我正在尝试使用Swift对AWS和DynamoDB执行简单的表扫描。我是苹果编程的新手,不确定问题是什么。 AWS SDK的文档都是客观的C,AWS给Swift的例子都是垃圾。DynamoDB Swift Table扫描映射类
我得到的最好的信息是来自一个问题,所以我一直试图通过它。
Best way to make Amazon AWS DynamoDB queries using Swift?
有太多的错误了一个问题,所以我将它分解成多个问题:
我试图做的第一部分是我的类项目从数据库“定义的映射项目”
我写我的代码和我得到的每一行下面以粗体显示的错误:
class Item : NSObject, AWSDynamoDBModel, AWSDynamoDBModeling {
'项目' 不符合协议 'AWSDynamoDBModeling'
var Artist : String = ""
var SongTitle : String = ""
var AlbumTitle : String = ""
var Category : String = ""
var PictureURL : String = ""
var SongURL : String = ""
var Location : String = ""
var AVGMusicianRating : Int = 0
var AVGUserRating : Int = 0
var SongDuration : Int = 0
var SongID : Int = 0
override init!() { super.init() }
Failable初始化为 'init()' 无法重写非failable初始化
required init!(coder: NSCoder!) {
fatalError("init(coder:) has not been implemented")
}
class func dynamoDBTableName() -> String! {
return "Songs"
}
class func hashKeyAttribute() -> Int! {
return SongID
}
实例成员 'SongID' 不能用于'Item'类型(我的散列键是一个int不是字符串)
//required to let DynamoDB Mapper create instances of this class
override init(dictionary dictionaryValue: [NSObject : AnyObject]!, error: NSErrorPointer)
初始化程序不自其超提前重写指定初始化
{
super.init(dictionary: dictionaryValue, error: error)
}
//workaround to possible XCode 6.1 Bug : "Type NotificationAck" does not conform to protocol "NSObjectProtocol"
override func isEqual(anObject: AnyObject?) -> Bool {
return super.isEqual(anObject)
}
}
感谢。
感谢您的帮助,这确实回答了我问的问题。我已经尝试使用你的教程,但不幸的是我必须做一个全表扫描。所以我不得不回过头来研究如何以客观的方式做到这一点。对于这样一家大公司,您会认为AWS可以编制与当前标准相关的文档。 –