CLGeocoder geocodeAddressStringの呼び出しは非同期であり、完了時にコールバックを処理するためにブロックが渡されることを理解しています。また、ブロック内で変更可能な変数はローカル__block変数のみであることも理解しています。しかし、結果のCLPlacemarksをグローバルNSMutableArray変数に格納する必要があり、それがどのように発生するかを理解できません。__block変数には同じメソッド内でのみアクセスできますが、値が設定されている時点(つまり、ブロック内)では、グローバル配列に値を割り当てることはできません。ブロック後、非同期geocodeAddressStringを呼び出すとすぐに返されるため、__block変数には値がない可能性があります。
呼び出しの結果を保存して、UITableViewの更新に使用できるようにするにはどうすればよいですか?