1

初めての iOS アプリを書いています。これには、OAuth2Client を介した API 呼び出しが含まれます。

問題は、AdvAPI getUser 関数を呼び出すときです。GET 要求は、responseHandler 内の応答データを処理する NXOAuth2Request を通じて行われ、変数 result が NSDictionary に設定されます。ただし、結果は XOAuth2Request 関数の外ではアクセスできません。結果を取得して getUser から返すにはどうすればよいですか?

ありがとう!

import Foundation

class AdvAPI {
var store : NXOAuth2AccountStore
var account : NXOAuth2Account?

init(){
    self.store = NXOAuth2AccountStore.sharedStore() as NXOAuth2AccountStore
    self.store.setClientID(
        "test",
        secret: "test",
        authorizationURL: NSURL.URLWithString("http://localhost:3000/oauth/authorize"),
        tokenURL: NSURL.URLWithString("http://localhost:3000/oauth/token"),
        redirectURL: NSURL.URLWithString("http://localhost:3000/oauth/connect"),
        forAccountType: "AdventureApp"
    )

    self.account = self.store.accountsWithAccountType("AdventureApp")[0]
}


func getUser(parameters : NSDictionary=[String: AnyObject]()) -> NSDictionary {

    NXOAuth2Request.performMethod("GET",
        onResource: NSURL.URLWithString("http://localhost:3000/api/v1/me"),
        usingParameters: parameters,
        withAccount: self.account,
        sendProgressHandler: nil,
        responseHandler: {(response: NSURLResponse?, responseData: NSData?, error: NSError?) in
            var jsonError: NSError
            var result = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
        }
    )
    return result
}

}
4

1 に答える 1