将变量作为参数传递给块

时间:2015-03-24 00:24:43

标签: ios objective-c

我在目标c中运行代码块并将变量作为参数传递给它,变量的值在块内部发生变化。有没有办法实现这个目标?

__block int timestamp=0; 
[MyAPI queryName:timestamp withBlock:^(Data *data) {
  NSLog(@"%@", data);
  timestamp = data.timestamp;
}];

我无法使用上述代码实现此目的。不确定完成这项工作的正确方法是什么,或者是否可以通过其他方式实现。感谢。

1 个答案:

答案 0 :(得分:0)

我假设queryName:withBlock:是对您服务器的调用?如果是,那么块之外的时间戳会在稍后更新,并且下面的所有代码都会看到时间戳为0。

解决方案是执行依赖于块调用中的时间戳的执行。