11
Swift関数の非同期呼び出しからデータを返す
すべてのREST要求と応答を処理するユーティリティクラスをSwiftプロジェクトに作成しました。コードをテストできるように、簡単なREST APIを作成しました。NSArrayを返す必要があるクラスメソッドを作成しましたが、API呼び出しは非同期なので、非同期呼び出し内のメソッドから返す必要があります。問題は、非同期がvoidを返すことです。Nodeでこれを行っている場合、JSプロミスを使用しますが、Swiftで機能するソリューションを理解できません。 import Foundation class Bookshop { class func getGenres() -> NSArray { println("Hello inside getGenres") let urlPath = "http://creative.coventry.ac.uk/~bookshop/v1.1/index.php/genre/list" println(urlPath) let url: NSURL = NSURL(string: urlPath) let session = NSURLSession.sharedSession() var resultsArray:NSArray! let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in println("Task completed") if(error) { println(error.localizedDescription) } …
93
ios
rest
asynchronous
swift