我試圖將生成的AWS API網關SDK添加到我在Swift 3中編寫的iOS應用程序中。由AWS生成的代碼包含許多不能在Swift 3中編譯的內容,但希望我可以解決大部分他們。其中一個錯誤讓我感到困惑。無法在Swift 3中設置AWSAPIGatewayClient配置?
從AWS庫(預編譯)AWSAPIGatewayClient類看起來是這樣的:
open class AWSAPIGatewayClient : NSObject {
open var configuration: AWSServiceConfiguration! { get }
open var apiKey: String!
}
而生成的子類有這個初始化函數:
init(configuration: AWSServiceConfiguration) {
super.init()
self.configuration = configuration
...
}
編譯器自然地抱怨說,配置屬性是隻能得到的:
AWSMyServiceClient.swift:127:25: Cannot assign to property: 'configuration' is a get-only property
我是否缺少某物obviou s,或者這可能如何工作?我一直無法找到其他人有同樣的問題,這導致我懷疑我的特定代碼有什麼問題。
我一直使用AWS的API網關對象 - 在雨燕2.2項目生成的代碼。我已經將我的項目轉換爲Swift 3,並且它運行良好(仍然使用obj-c生成的代碼)。我今天才注意到他們提供了Swift代碼。我試圖用生成的Swift替換obj-c代碼,但正如你所說,它有很多編譯錯誤。沒有辦法,我要解決生成的代碼中的編譯錯誤。這應該是開箱即用的。我找不到任何有關生成的Swift的文檔,當它被引入時,它的版本以及如何使用它。現在我會堅持obj-c。 –
謝謝,這是非常有幫助的輸入。接下來我會嘗試這種方法,因爲如果每次更新它時都必須對其進行更改,自動生成代碼的許多優點都會丟失。 –