我在目标c中运行代码块并将变量作为参数传递给它,变量的值在块内部发生变化。有没有办法实现这个目标?
__block int timestamp=0;
[MyAPI queryName:timestamp withBlock:^(Data *data) {
NSLog(@"%@", data);
timestamp = data.timestamp;
}];
我无法使用上述代码实现此目的。不确定完成这项工作的正确方法是什么,或者是否可以通过其他方式实现。感谢。
答案 0 :(得分:0)
我假设queryName:withBlock:是对您服务器的调用?如果是,那么块之外的时间戳会在稍后更新,并且下面的所有代码都会看到时间戳为0。
解决方案是执行依赖于块调用中的时间戳的执行。