Googleマップ上でたくさんのGMSMarkersをプロットしているアプリ。私はGMSMarkerをサブクラス化し、サブクラスにオブジェクトIDを設定しました。これは、マーカーをNSSetに追加し、プロットされた重複していないマーカーのみが存在するようにするために行われます。サブクラスがある:マップにGMSMarkerを追加するとiPhone 5でアプリケーションがクラッシュする:EXC_BAD_ACCESS
@implementation BYOMarker
-(BOOL)isEqual:(id)object
{
BYOMarker *otherMarker = (BYOMarker *)object;
if (self.objectID.intValue == otherMarker.objectID.intValue) {
return YES;
}
return NO;
}
-(NSUInteger)hash
{
return [self.objectID hash];
}
@end
.hファイル
#import <GoogleMaps/GoogleMaps.h>
@interface BYOMarker : GMSMarker
@property (assign, nonatomic) NSNumber *objectID;
@end
アプリはEXC_BAD_ACCESS例外とハッシュ関数の戻り値でクラッシュしています。私はゾンビオブジェクトを有効にして、私はマーカーのマップオブジェクトを設定していると私は次のエラーを取得する際のpo marker.objectIDを印刷しようとした:
*** -[CFNumber respondsToSelector:]: message sent to deallocated instance 0x80416470
0x80416470
どれヘルプを! TIA
objectIDの代わりに強いを使用します。 –