香港专业教育学院得到以下代码:
尝试调试一段时间。无法解决。
[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方法中初始化Dictionary
我在做什么,那显然是错误的吗?
最佳答案
我认为您需要在SINGLETON类本身中初始化字典。昨天我尝试了同样的事情,它奏效了。
只需创建一个函数并在那里初始化字典,然后在使用该字典之前调用该函数。
它肯定会工作。