Objective-C nie ma przestrzeni nazw, a wiele (takich jak CocoaDevCentral's Cocoa Style Guide) zaleca przedrostek nazw klas z inicjałami, aby uniknąć kolizji przestrzeni nazw.Czy kolizje przestrzeni nazw są naprawdę problemem w Objective-C?
Cytując z powyższego linku:
Objective-C nie mają nazw, więc poprzedzić swoje nazwy klas z inicjałami. Pozwala to uniknąć kolizji "przestrzeni nazw ", co jest sytuacją, w której dwie części kodu mają taką samą nazwę , ale robią różne rzeczy.
To ma sens, jak sądzę. Ale szczerze mówiąc, w kontekście stosunkowo niewielkiej aplikacji (powiedzmy, gry na iPhone'a) jest to naprawdę problem? Czy naprawdę powinienem zmienić nazwę MyViewController na ZPViewController? Jeśli nie, to w którym momencie kolizje przestrzeni nazw stają się problemem?
"Objective-C nie ma przestrzeni nazw, dlatego przedrostkiem wpisz nazwy klas inicjałami." Wow, co za niesamowita pomoc dla zespołu. Chciałbym dostać się do Objective-C, ale brak przestrzeni nazw jest całkowicie głupi. –
@Nick Od kiedy napisałem to prawie dwa lata temu opublikowałem pięć aplikacji w sklepie z aplikacjami i nigdy nie miałem tego problemu.Brak przestrzeni nazw naprawdę nie wydaje się być problemem, przynajmniej nie było to dla mnie (odpowiedzi poniżej również w przybliżeniu). – zpasternack
Więc powiedzmy, że masz klasę, która koliduje z inną, czy mimo to możesz wybrać, który z nich chcesz, czy jesteś zmuszony do powrotu i zmiany nazwy? –