Ich habe ein Retain/Release-Problem. Meine Ansicht ist ziemlich kompliziert, deshalb habe ich NSZombieEnabled auf YES gesetzt und versuche herauszufinden, welches Objekt mich wirklich betrübt. Um diesen Prozess zu beschleunigen, frage ich mich, ob es Hinweise oder Tricks gäbe, um die Zombies zurück zum Grab zu bringen, aus dem sie ihren Weg (Entschuldigung, Müssen) oder zurück zu dem Objekt gegraben haben, mit dem sie verbunden sind? Die kryptische Konsolennachricht scheint nicht viel Einblick zu bieten:NSZombies essen das Gehirn meiner App!
NSInvocation: warning: object 0x1076850 of class '_NSZombie_CALayer' does not implement methodSignatureForSelector: -- trouble ahead
Ich habe keine Selektoren genannt "Ärger voraus".
bearbeiten - inklusive Stack Trace:
#0 0x3026e017 in ___forwarding___
#1 0x3024a0a2 in __forwarding_prep_0___
#2 0x302042e8 in CFRelease
#3 0x00c4fc31 in CALayerUpdateSublayers
#4 0x00c4e173 in -[CALayer dealloc]
#5 0x00c4000e in CALayerRelease
#6 0x00c48dad in CALayerFreeTransaction
#7 0x00c410b8 in CA::Transaction::commit
#8 0x00c492e0 in CA::Transaction::observer_callback
#9 0x30245c32 in __CFRunLoopDoObservers
#10 0x3024503f in CFRunLoopRunSpecific
#11 0x30244628 in CFRunLoopRunInMode
#12 0x32044c31 in GSEventRunModal
#13 0x32044cf6 in GSEventRun
#14 0x309021ee in UIApplicationMain
#15 0x00001eb4 in main at main.m:14
Edit 2: ObjectAlloc
die Speicheradresse in Frage in ObjectAlloc Looking up finde ich zwei Spiele:
# Address Category Creation Time Size Responsible Library Responsible Caller
0 0x1076980 GeneralBlock-48 00:11.470 48 QuartzCore -[CALayer setDelegate:]
1 0x1076980 CALayer 00:11.552 48 UIKit -[UIView _createLayerWithFrame:]
in Graben # 0 GeneralBlock-48:
# Category Event Type Timestamp Address Size Responsible Library Responsible Caller
0 GeneralBlock-48 Malloc 00:11.470 0x1076980 48 QuartzCore -[CALayer setDelegate:]
1 GeneralBlock-48 Free 00:11.551 0x1076980 -48 QuartzCore -[CALayer addAnimation:forKey:]
2 CALayer Malloc 00:11.552 0x1076980 48 UIKit -[UIView _createLayerWithFrame:]
Graben in # 1 CALayer:
# Category Event Type Timestamp Address Size Responsible Library Responsible Caller
0 GeneralBlock-48 Malloc 00:11.470 0x1076980 48 QuartzCore -[CALayer setDelegate:]
1 GeneralBlock-48 Free 00:11.551 0x1076980 -48 QuartzCore -[CALayer addAnimation:forKey:]
2 CALayer Malloc 00:11.552 0x1076980 48 UIKit -[UIView _createLayerWithFrame:]
Nun, ich sehe jetzt in tiefer, dass die Bohrungen entweder # 0 oder # 1 zeigt genau die gleiche Information. Ich nehme an, dass sollte die Fehlerbehebung in zwei Hälften geschnitten ... aber ich bin immer noch ratlos ...
Haben Sie versucht, Schrotflinten in Ihre Anwendung zu programmieren? – Sneakyness
Ich nahm eine Abkürzung und versuchte den Holzpfahl ... ach, das funktioniert nur auf NSVampires :-( – Meltemi
+1 für die Details der Frage, und der interessante Titel: D –