Meine Anwendung testete, ob mein selectedViewController gleich meinem moreNavigationController war.Warum zeigt XCode im Debugger-Fenster die falsche Objektadresse an?
Der Ausdruck wurde immer falsch ausgewertet, also habe ich mit dem Debuggen begonnen. Ich legte einen Haltepunkt in den Code und schwebte meinen Zeiger über "Selbst", was das gelbe kaskadierende Popup verursachte, wo ich die Adressen beider Controller sehen konnte. Die Adressen waren im Popup identisch, was inkorrekt sein muss, da die if-Anweisung fehlgeschlagen ist. Ich sehe das gleiche Ergebnis im Debugger-Fenster.
Ich habe diese Logging-Anweisungen später hinzugefügt, was ergab, dass die Objekte 2 verschiedene Adressen hatten.
NSLog([NSString stringWithFormat:@"%d",(self.tabBarController.moreNavigationController)]);
NSLog([NSString stringWithFormat:@"%d",(self.tabBarController.selectedViewController)]);
Warum lag das Debugger-Fenster? Konkret, weiß jemand, welchen Wert es als seine Adresse anzeigt, und warum die Controller die gleiche Adresse zeigen würden?
Ich schrieb die if-Anweisung in den folgenden, aber ich bin immer noch neugierig auf den Debugger. \t \t if (self.tabBarController.selectedIndex> = 4 && [[self.tabBarController viewControllers] zählen]> 5) – CornPuff