Die App, an der ich arbeite, zeichnet viele GMSMarker auf einer Google-Karte. Es funktioniert tadellos in allen anderen Geräten außer iPhone 5. Ich habe GMSMarker subclassed und eine Object-ID auf die Unterklasse gesetzt. Dies geschieht, damit ich die Marker zu einem NSSet hinzufügen und sicherstellen kann, dass es nur unterschiedliche Marker gibt, die geplottet werden und keine Duplikate. Die Unterklasse ist:App stürzt nur auf iPhone 5 ab, wenn GMSMarker zur Karte hinzugefügt wird: 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
Die .h-Datei
#import <GoogleMaps/GoogleMaps.h>
@interface BYOMarker : GMSMarker
@property (assign, nonatomic) NSNumber *objectID;
@end
Die Anwendung ist bei der Rückkehr der Hash-Funktion mit einer EXC_BAD_ACCESS Ausnahme abstürzt. Ich aktivierte Objekte Zombie und versuchten po marker.objectID zu drucken, wenn ich die Karte Objekt für den Marker setzen und ich erhalte die folgenden Fehler:
*** -[CFNumber respondsToSelector:]: message sent to deallocated instance 0x80416470
0x80416470
Jede Hilfe ?! TIA
Verwendung stark anstatt –