ios - 尝试从完成处理程序中的响应对象返回字符串

标签 ios objective-c methods instagram completionhandler

<分区>

+ (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/

上一篇:ios - Cocoapods - 安装 pod 并验证文件存在后为 'MBProgressHUD.h not found'

下一篇:ios - 从回调调用 objective-c 方法

相关文章:

objective-c - 在 UITableView 滚动时为单元格设置动画

ios - 是否有可能专注于选定的 SCNNode

ios - 使用与 UITableViewCell 关联的 NSURL 转到 UIWebview

java - 整数初始化和方法错误

c# - 在方法重载之间共享一个变量?

ios - UITableView - 你如何重新加载全新的数据?

ios - 如何检测 iOS 中的圆角屏幕角

iOS/iPad 应用程序,在本地保存数据

iphone - 如何通过从 iOS 多任务栏中删除我的应用程序来了解它何时退出

javascript - 获取数组的总和并在另一个函数中回调一个函数