2014-09-25 33 views
1

我有隨機發生的異常,當我嘗試在MKMapView上添加批註時發生。 這次崩潰只發生在這行代碼中,我還有其他幾個在我的地圖上添加註釋。 enter image description hereMKMapView addAnnotations crash

在我的應用程序註釋是NSManagedObject的一個子類,並直接從核心數據獲取。 我試圖從很長一段時間調試這個錯誤,但它隨機發生,只有在這個功能。

(我已經選中,如果座標是有效的,如果有一個核心數據線的問題,數據不斷層)

@try @catch不適用於此錯誤的工作。

任何想法?

編輯:是這樣的註記子類

MapPoint.h

@interface MapPoint : NSManagedObject <MKAnnotation> 

@property double latitude; 
@property double longitude; 
@property double kmINI; 
@property double kmFIN; 
@property double tag; 
@property (nonatomic, strong) NSDate * date; 
@property (nonatomic, strong) NSString * name; 
@property (nonatomic, strong) NSNumber * altitude; 
@property (nonatomic, strong) NSString * descr; 
@property (nonatomic, strong) NSString * identifier; 
@property (nonatomic, strong) NSString * category; 
@property (nonatomic, strong) NSString * note; 

-(MKMapItem*)mapItem; 

@end 

MapPoint.m

@implementation MapPoint 

@dynamic latitude; 
@dynamic longitude; 
@dynamic kmINI; 
@dynamic kmFIN; 
@dynamic date; 
@dynamic category; 
@dynamic altitude; 
@dynamic descr; 
@dynamic identifier; 
@dynamic name; 
@dynamic note; 
@dynamic tag; 

#pragma MKAnnotation protocols 

-(NSString*)title{ 

    NSString *title = self.category; 
    return title; 
} 

-(NSString*)subtitle{ 

    NSString *subtitle = self.name; 
    return subtitle; 
} 

-(CLLocationCoordinate2D)coordinate{ 
    return CLLocationCoordinate2DMake(self.latitude, self.longitude); 

} 

- (MKMapItem*)mapItem { 

    MKPlacemark *placemark = [[MKPlacemark alloc] 
           initWithCoordinate:self.coordinate 
           addressDictionary:nil]; 

    MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark]; 
    mapItem.name = self.subtitle; 

    return mapItem; 
} 


@end 
+0

你會提供應用程序註釋類的代碼嗎? – 2014-09-25 14:44:00

+0

查看問題編輯 – Dodgson86 2014-09-26 12:52:52

回答

0

1)依次點擊目標
2)單擊編輯方案
3 )導航到運行 - >診斷
4)啓動Ë殭屍對象

enter image description here

5)運行應用程序,並嘗試重現崩潰。
調試器將停止釋放對象調用,並且您將堆棧跟蹤,因此調試此問題將變得更加容易。