是否可以將CLLocation對象用作字典中的鍵?當我嘗試這樣做時,即使有已經插入完全相同經度和緯度的CLLocation鍵,[dictionary objectForKey:clLocationObj]總是返回nil。我可能做錯了什麼?使用CLLocation對象作爲字典中的鍵
for (Location *location in someArray) {
CLLocation *locationKey = [[CLLocation alloc] initWithLatitude:[location.latitude doubleValue] longitude:[location.longtitude doubleValue]];
LocationAnnotation *annotationAtLocation = [self.uniqueLocations objectForKey:locationKey];
if (annotationAtLocation == nil)
NSLog(@"this is always nil");
}
我從調試中知道someArray中有多個相同緯度和經度的位置對象。
你解決? – 2011-07-21 09:11:40
我做了一些其他的方式。 CLLocation對我來說效果不好的原因是,它有更多的信息,而不僅僅是lat/long,所以比較2個CLLocations和相同的經緯度不會導致匹配。我最終將CLLocationCoordinate2D對象轉換爲NSValue,並將其用作字典的關鍵字。 –