Nicht immer, aber meistens finden Sie Open-Source-Projekte für iOS oder Mac OS X, deren Namen mit den Anfangsbuchstaben des Vor- und Nachnamens des Autors beginnen. Wenn ein Projekt von Nick Leblanc verfasst würde, würde das Projekt als gelesen werden NLMyProject
.
Beispiele:
- RMSwipeTableViewCell von Rune Madsen,
- EBCardCollectionViewLayout von Ezequiel Becerra,
- SDiPhoneVersion von Sebastian Dobrincu,
- LNNotificationsUI von Leo Natan.
Woher kommt das? Hat es eine Person zuerst so geschrieben und dann sind alle anderen gefolgt?
Ich konnte selbst in den Apple-Richtlinien nichts dazu finden . Ist diese Redewendung irgendwo geschrieben?
ios
objective-c
apple
conventions
namespace
Stéphane Bruckert
quelle
quelle
;-)
Antworten:
Ziel C hat wie C keine Namespaces. Dies bedeutet , dass , wenn jemand bereits eine Funktion definiert
foo
oder eine KlasseBar
, muss es global eindeutig sein und man kann es nicht definieren. Dies kann zu vielen Kopfschmerzen führen, wenn Sie Ihren Code haben und dann eine weitere Bibliothek hinzufügen, und plötzlich brechen die Dinge an seltsamen Orten.Es ist ein Leitfaden für den von Apple präsentierte in Programmierung mit Objective C: Konventionen Abschnitt der iOS Entwickler - Bibliothek:
Diese Bibliotheken, von denen Sie erwähnen, dass sie diese Konvention brechen, befassen sich jedoch mit dem Problem des fehlenden Namensraums in Objective C.
Weiterführende
Literatur Namespacing von NSHipster
Was ist der beste Weg, um eine Objective-C-Namespace-Kollision zu lösen?
Wie verwendet man Namespaces in iOS Objective-C-Code?
quelle
@
wird verwendet, weil es in C nicht verwendet wird. Der Versuch, einen anderen Operator hinzuzufügen, der andere Dinge nicht unterbricht, ist eine Herausforderung.