1

我有以下代码:

尝试调试它一段时间。想不通。

    [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 是一个单例,并且 Dictionary 正在调用者的 viewDidLoad 方法中初始化

有什么我做的事情显然是错误的吗?

4

1 回答 1

1

我认为您需要在 SINGLETON 类本身中初始化字典。我昨天尝试了同样的事情,它奏效了。

只需创建一个函数并在那里初始化字典并在使用该字典之前调用该函数。

它肯定会奏效。

于 2012-10-27T06:49:42.877 回答