Wenn Sie in Objective C etwas unterklassifizieren und eine Methode für die Oberklasse überschreiben, sollten Sie die Oberklassenmethode in Ihrer Unterklasse @interface erneut deklarieren?Objective C-Unterklasse, die eine Methode in der Oberklasse überschreibt
Wenn Sie beispielsweise UIViewController (z. B. MyViewController) unterklassifizieren und "viewDidLoad" überschreiben, sollten Sie diese Methode in Ihre MyViewController @interface-Deklaration einschließen oder sie einfach in MyViewController.m implementieren?
In Beispielen, die ich gesehen habe, habe ich es in beiden Richtungen gesehen (re-deklarieren Sie die Methode in Ihrer Unterklasse-Schnittstelle, oder nicht erneut deklarieren Sie die Methode). Es gibt vielleicht keinen funktionellen Unterschied, aber was ist die beste Praxis?
+1 Das macht Sinn. Jemand mit einem Namen wie "Coco (a)" muss wissen, was er macht. –
Sie erhalten eine unvollständige Definition Warnung, obwohl die Superklasse eine Implementierung hat? Das wusste ich nicht; dachte immer, dass das Deklarieren einer Methode, die bereits in der Oberklasse vorhanden ist, überflüssig ist, unabhängig davon, ob Sie sie überschreiben oder nicht. –
@ranReloaded Sie erhalten nur dann eine Warnung, wenn Sie die Methode explizit deklarieren. Wenn Sie das tun, sagen Sie dem Compiler, dass Sie die Methode re-implementieren möchten und Sie bitten, Sie zu warnen, wenn Sie das nicht tun. –