Swift初心者です。
Swift2のライブラリ APIKitを使ってAPIClientを作ろうとしています。
ページに載っているサンプルを動かそうとしているだけなのですが、struct RateLimitのguard letの行で「Ambiguous reference to member subscript」と怒られてしまいます。
ググってみたところErrorHandlingの処理を書かなければならないようなのですが、「enum InitializationError : ErrorType」等を書いてthrowしてみてもうまく動作しません。
どなたか回答をよろしくお願いします。
swift
1protocol GitHubRequestType: RequestType { 2 3} 4 5extension GitHubRequestType { 6 var baseURL: NSURL { 7 return NSURL(string: "https://api.github.com")! 8 } 9} 10 11struct GetRateLimitRequest: GitHubRequestType { 12 typealias Response = RateLimit 13 14 var method: HTTPMethod { 15 return .GET 16 } 17 18 var path: String { 19 return "/rate_limit" 20 } 21 22 func responseFromObject(object: AnyObject, URLResponse: NSHTTPURLResponse) -> Response? { 23 guard let dictionary = object as? [String: AnyObject] else { 24 return nil 25 } 26 27 guard let rateLimit = RateLimit(dictionary: dictionary) else { 28 return nil 29 } 30 31 return rateLimit 32 } 33} 34 35struct RateLimit { 36 let count: Int 37 let resetDate: NSDate 38 39 init?(dictionary: [String: AnyObject]) { 40 guard let count = dictionary["rate"]?["limit"] as? Int else { 41 return nil 42 } 43 44 guard let resetDateString = dictionary["rate"]?["reset"] as? NSTimeInterval else { 45 return nil 46 } 47 48 self.count = count 49 self.resetDate = NSDate(timeIntervalSince1970: resetDateString) 50 } 51}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。