MKAnnotation协议的“坐标”属性

时间:2011-10-04 01:02:19

标签: iphone objective-c cocoa-touch

我的问题是关于“coordinate”属性的“readonly”属性。在协议中还列出了“setCoordinate”即时方法。它在文档中说它意味着支持“拖动”。

我的问题是:

1

如果可以设置坐标,那么为什么分配了“readonly”属性?

2

我正在考虑使用单个临时MKAnnotation对象来填充数组。该方案是分配不同的坐标值并重复将其添加到数组中。但是如果坐标属性是“只读”,则该方案将不起作用。或者我可以为此目的使用“setCoordinate”吗?

我只是希望避免创建多个MKAnnotation对象来填充数组(因为数组可能只有几个点)。

希望在这个领域有人知道可以帮助......

http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKAnnotation_Protocol/Reference/Reference.html

1 个答案:

答案 0 :(得分:2)

setCoordinate:方法是可选的。如果您的注释支持拖动,则可以实现它,但您不必这样做。另一方面,readonly属性是强制性的。

  

我正在考虑使用单个临时MKAnnotation对象来填充数组。该方案是分配不同的坐标值并重复将其添加到数组中。但是如果坐标属性是“只读”,则该方案将不起作用。或者我可以为此目的使用“setCoordinate”吗?

此计划在任何情况下都不起作用。如果将注释添加到数组中,然后修改坐标并再次添加,您将在数组中使用相同的坐标两次完全相同的注释。如果您想要一个具有不同坐标的注释数组,则需要为每个坐标创建一个不同的注释对象。