Wir haben eine RIESIG Projekt aus dem Outsourcing, das wir zu "reparieren" versuchen. Es gibt Hunderte von View Controllern innerhalb des Projekts. Unser Ziel ist es, leicht zu bestimmen, welche Klasse wir gerade auf dem Gerät sehen.
Unsere Lösung (die nicht funktioniert hat, daher die SO-Frage) lautet wie folgt.
Überschreiben Sie die viewDidAppear-Methode von UIViewController über eine Kategorie mit dieser:
-(void)viewDidAppear:(BOOL)animated
{
NSLog(@"Current View Class: %@", NSStringFromClass(self.class));
[self viewDidAppear:animated];
//Also tried this:
//[super viewDidAppear:animated];
}
Diese Kategorie würde in die Kategorie .pch des Projekts.
Dies würde keinen zusätzlichen Code in den Hunderten von View Controllern erfordern und könnte leicht ein- und ausgeschaltet werden. Es hat nicht funktioniert, weil, wie wir jetzt gelernt haben, < Meme >Man kann eine bestehende Methode nicht einfach per Kategorie außer Kraft setzen< /meme >.
Was übersehen wir?!?