<分区>
<分区>
+ (NSString *) simpleAuth {
[SimpleAuth authorize:@"instagram" completion:^(NSDictionary *responseObject, NSError *error) {
NSLog(@"plump: %@", responseObject);
NSString *accessToken = responseObject[@"credentials"][@"token"];
}];
return accessToken
尝试将我的 instagram accesstoken 作为字符串获取,以便我可以使用它在我的 swift viewcontroller 文件中下载数据。我不得不在 Objective C 中编写简单的 auth,因为它不适用于 swift atm。
最佳答案
由于该方法是异步运行的,您不能就那样返回访问 token 。我建议您在 simpleAuth: 方法中添加一个完成 block ,该方法在获取访问 token 时将访问 token 传递给被调用者。
这样的方法会更好,
+ (void)simpleAuth:(void(^)(NSString*))completionHandler
{
[SimpleAuth authorize:@"instagram" completion:^(NSDictionary *responseObject, NSError *error) {
NSString *accessToken = responseObject[@"credentials"][@"token"];
completionHandler(accessToken)
}];
}
这样你就可以这样调用它,
[SomeClass simpleAuth:^(NSString *accessToken){
NSLog(@"Received access token: %@", accessToken);
}];
关于ios - 尝试从完成处理程序中的响应对象返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26525902/