Objective c 选择器元素没有有效的对象类型(Cocoa touch)
我试图迭代一组对象,并为此代码中看到的每个对象创建一个注释,但在Objective c 选择器元素没有有效的对象类型(Cocoa touch),objective-c,cocoa-touch,Objective C,Cocoa Touch,我试图迭代一组对象,并为此代码中看到的每个对象创建一个注释,但在for循环的}结束时,我发现此错误选择器元素没有有效的对象类型。这是什么意思 for (POI myPOI in appDelegate.pois){ CLLocationCoordinate2D location; location.latitude=[myPOI.lat doubleValue]; location.longitude=[myPOI.lon doubleVa
for
循环的}
结束时,我发现此错误选择器元素没有有效的对象类型
。这是什么意思
for (POI myPOI in appDelegate.pois){
CLLocationCoordinate2D location;
location.latitude=[myPOI.lat doubleValue];
location.longitude=[myPOI.lon doubleValue];
region.span=span;
region.center=location;
LocationAnnotation *locAnn;
locAnn = [[LocationAnnotation alloc] initWithCoordinate:location];
[mapView addAnnotation:locAnn];
[mapView setRegion:region animated:YES];
[locAnn release];
}
另外,在循环开始时,我得到的变量大小的对象无法初始化。并且,实例变量lat(以及lon)被声明为受保护的
我做错了什么?
谢谢POI是一个对象吗?如果是这样的话,您就不能将“myPOI”声明为指向POI的指针。您将需要:
POI * myPOI ...
如果POI不是对象,则不能使用快速枚举。当我将其设置为对象时,我消除了其他错误,但现在有了一个新错误-表达式没有有效的对象类型。
。这是什么意思?我是否必须使我的POI类符合NSFastEnumeration协议或类似协议?您需要提供更多信息。应用程序代理的“POI”属性返回什么?这个新错误被抛出到哪里?什么是POI类,“lat”和“long”返回什么(对象或原语)?我以前没有看到过这个错误,但我知道集合对象必须符合快速枚举协议(但不符合集合中的对象)。我解决了这个问题-我的appDelegate没有得到正确的实例化。一旦我整理好了,错误就消失了-谢谢你的帮助。给我们更多的信息。您所说的“错误”是什么意思?我们所说的是生成错误、生成警告、崩溃、异常或日志消息吗?