2009-12-04 18 views
9

Secondo Apple, due o tre lettere prefissi dovrebbero essere utilizzatiQuando dovrei usare un prefisso sulle classi Objective C?

durante la denominazione classi, protocolli, funzioni, costanti e strutture typedef.

Questo include le classi che non sono destinate a far parte di un framework, semplicemente utilizzate internamente in un'applicazione? Mi rendo conto che questo si basa su altri sviluppatori che sviluppano framework che potresti utilizzare per utilizzare prefissi, ma ciò sembra accettabile. Che dire delle entità Core Data? Se io generi lezioni da loro, non dovrebbero anche essere prefissati?

risposta

15

Per sicurezza, utilizzare un prefisso per tutte le classi dell'applicazione. Tutte le classi vengono caricate in un unico spazio dei nomi piatto in Objective-C e il prefisso previene le collisioni sia ora che in futuro.

Ciò include anche le entità CoreData; dovrebbero anche usare lo stesso prefisso del resto delle classi dell'applicazione.

+2

Grazie per aver chiarito le entità CoreData. Dirò che gli spazi dei nomi sono una delle cose che mi mancano quando scrivo Objective-C. – Don

+2

Segnala un bug che spiega perché ne hai bisogno. Ovviamente sarà un vero capriccio, ma il tuo dupe e business case sarà utile. – bbum

+0

@bbum stai raccomandando l'uso di prefissi per nomi di entità e nomi o solo i loro nomi di classe objc? (Assumerei quest'ultimo dato l'isolamento delle entità all'interno di un dato modello di dati) – Regexident

1

Si noti inoltre che è possibile decidere che parte di questo codice possa essere utilizzata altrove, quindi l'utilizzo di prefissi ora vi proteggerà da potenziali collisioni in futuro.

Problemi correlati