Ist es sicher, eine in Category definierte Methode in Objective-C zu überschreiben? [Duplikat]

8

Ich habe eine Klassenstruktur vom Typ UIViewControllerSubclass : UIViewController , wobei die einzige Funktion von UIViewControllerSubclass in #import UIViewController+Category.h ist. Der Grund, warum ich Methoden in einer Kategorie hinzugefügt habe, ist, dass ich auch UITableViewControllerSubclass : UITableViewController machen kann, was auch #import UIViewController+Category.h ist. Wie wir alle wissen, wiederhole dich nicht.

Nehmen Sie nun an, dass UIViewController + Category.h die Struktur hat:

%Vor%

Wie sicher ist es, UIViewControllerSubclassSubclass : UIViewControllerSubclass zu erstellen, wodurch method1 überschrieben wird? Ich nehme an, das wird funktionieren, weil Objective-C die Nachricht weitergibt, aber aus irgendeinem Grund sagt mir meine Intuition, dass ich es falsch mache.

    
paulrehkugler 29.08.2013, 14:14
quelle

1 Antwort

7

Alles sollte gut funktionieren, da die Kategorie auf UIViewController angewendet wird, sodass alle Instanzen von UIViewController , einschließlich Unterklassen, Zugriff auf die Methoden haben. Es ist nichts unsicheres daran; So sollen Kategorien angewendet werden.

    
Bryan Chacosky 29.08.2013, 14:20
quelle