次のコードを取得しました。
しばらくデバッグしてみます。それを理解することはできません。
[self.vManager vendorsNearLocation:userLocation block:^(NSArray *vendors, NSError *error)
{
self.vManager.vendors_array = [NSArray arrayWithArray:vendors];
NSLog(@"Vendors array was %d long", [self.vManager.vendors_array count]);
if(vendors && [vendors count])
{
for (id v in vendors)
{
Vendor *aVendor = [[Vendor alloc] initWithAttributes:v];
[self.mapView addAnnotation:aVendor];
[self.vManager.vendor_dict setObject:aVendor
forKey:[aVendor name]];
そのループで辞書の値を設定したいと思っていました。しかし、辞書は常に空です。エラーや警告はなく、何も設定されていませんが、配列には値があり、マップにはすべてのベンダーが表示されています。ちなみにvManagerはSingletonで、ディクショナリは呼び出し元のviewDidLoadメソッドで初期化されています
私が明らかに間違っていることはありますか?