2016-07-08 19 views
-2

kommen aus High-Level-Sprachen wie Visual C, C#, Java, ActionScript, wo Pakete sind eine allgemeine und grundlegende Sache seit ihrer Gründung, und es gab viele Probleme mit der Skalierbarkeit Namen Kollisionen und Ich habe Objektiv-c immer für nicht aktuell gehalten.warum Klassenpräfixe werden immer noch in Apples neuesten Frameworks

Nun da wir den Namensraum zur Verfügung und sind implizit über Module, warum Klassen noch Präfix, zum Beispiel war ich durch diese WWDC 16 Video Enhancing VoIP Apps with CallKit gehen und Klassen sind nach wie vor mit CX voran, soll dies die Sache der Vergangenheit sein jetzt.

Swift 3.0 betont das Entfernen von wiederholten Elementen, sie überarbeiteten und verkürzten viele Funktionsnamen, gibt es eine Möglichkeit, dieses NS-Präfix loszuwerden, oder werden sie etwas dagegen tun oder ihren Klassenbibliotheken genau so vorangehen sie haben mit CallKit gemacht. Es ist immer noch eine Wiederholung.

enter image description here

Antwort

1

Jetzt, da wir zur Verfügung haben Namensräume und ist über Module implizit, warum Klassen noch

Präfix Da die APIs in geschrieben werden, und müssen durch, Objective-C verwendbar bleiben , die keinen Namensraum hat.

Die NS ist jetzt (Swift 3) aus den Foundation-Klassen gegangen, was sicherlich etwas ist. Dies wird erreicht, indem ein "Overlay" vor der Foundation API platziert wird. In Zukunft könnte dies mit anderen Frameworks geschehen. (Fragen über die Zukunft sind jedoch für Stack Overflow ungeeignet, und Sie können die swift-evolution site genauso lesen, wie alle anderen auch.)

+0

Wie kann ich "overlay" von oben in die Foundation API einfügen? Wie ist NS von Swift 3 weg? Ich sehe es immer noch im Code herum. – user2727195

+0

können Sie dies bitte beantworten http://stackoverflow.com/questions/38219128/gcd-pattern-for-chairing-async-operations-while-piping-the-results – user2727195