【发布时间】:2015-03-24 19:12:08
【问题描述】:
我现在正在做一个简单的 instagram 项目。 有好几次我都遇到了同样的问题。 为了与 instagram 合作,我使用 InstagramKit Engine。它有一些预设(空白)让生活更轻松。但是我总是遇到同样的问题。
假设我们有这个:
- (void)getSelfUserDetails
{
[[InstagramEngine sharedEngine] getSelfUserDetailsWithSuccess:^(InstagramUser *userDetail) {
NSLog(@"%@",userDetail);
} failure:^(NSError *error) {
}];
}
这里 userDetail 用于“成功”内部。而且效果很好。我需要的是在块完成后以某种方式保存它。
我已经尝试了几件事,从创建一个存储 userDetails 的属性到创建我自己的方法来返回 userDetails。保存整数、NSStrings 等也有同样的麻烦。
我想我错过了一些简单的出路。
请给我看。
【问题讨论】:
-
如果您描述了尝试使用
userDetail值时遇到的问题,这将有所帮助。请记住,“成功”块是异步调用的,因此您可能没有考虑到这一点。 -
我昨天想到了“成功”的异步尝试获取用户的状态(已关注/已关注)。它存储在 NSDictionary 中。每次我尝试将整个字典保存在“成功”中,然后在整个函数之后 NSLog 它,我得到(null)。据我了解,程序继续运行,并且 NSLog 行在收到 Dictionary 前几毫秒执行。我设法通过在“成功”中做我需要的一切来四处走动,但我感觉很糟糕,因为这种方法显然没有成效。我觉得应该有一些更简单的解决方案。
-
空白是什么?你说的是块。
-
是的,我的错。我专注于(void),错过了[...]的东西=\纠正了这个问题。谢谢。
-
您在保存时遇到了什么麻烦?
标签: objective-c objective-c-blocks instagram