Kiedy definiuję metody obiektywne?

Uczę się Objective-C i mam tło C / C ++.

W obiektowym C ++ zawsze musisz zadeklarować swoją metodę, zanim ją zdefiniujesz (zaimplementujesz), nawet jeśli zostanie zadeklarowana w klasie nadrzędnej.

W stylu proceduralnym C, IIRC, możesz uciec od definiowania funkcji, o ile jest ona wywoływana tylko z czegoś innego w tej samej jednostce kompilacyjnej (tj. Tego samego pliku), który pojawił się później w pliku (dobrze, pod warunkiem nie deklarujesz go w innym miejscu za pomocą „extern”).

Teraz, w Objective-C, wydaje się, że musisz zadeklarować selektory w pliku nagłówkowym, jeśli będą one używane przez coś zewnętrznego, i że możesz dobrze dobrać selektory w pliku .m i wywołać je w obrębie plik .m. Ponadto wydaje się, że metody delegowania lub dziedziczone metody nigdy nie są (ponownie) definiowane.

Czy jestem na dobrej drodze? Kiedy trzeba zdefiniować selektor w Objective-C?