我知道对 CLGeocoder geocodeAddressString 的调用是异步的,传入一个块以在完成时处理回调。我也知道块内唯一可变的变量是局部 __block 变量。但是我需要将生成的 CLPlacemarks 存储在全局 NSMutableArray 变量中,我无法弄清楚这是如何发生的。任何 __block 变量只能在同一个方法中访问,但在它们具有任何值(即在块内)时,我不能为全局数组分配任何值。在块之后,__block 变量可能不会有任何值,因为调用异步 geocodeAddressString 时会立即返回。
如何存储调用的结果,以便它们可以用于更新 UITableView?