Mit jelent az NS előtag jelent?

szavazat
501

Sok osztályok Cocoa / Cocoa Touch van NS előtagot. Mit jelent?

A kérdést 23/01/2009 18:22
a forrás felhasználó
Más nyelveken...                            


11 válasz

szavazat
736

Az eredeti kódot az Kakaó keretek jöttek a NeXTSTEP könyvtárak Alapítvány és AppKit (ezeket a neveket használják még az Apple Cocoa kerettel), és a NextStep mérnökök úgy döntöttek, hogy előtag szimbólumok NS.

Mivel Objective-C egy kiterjesztése C, és így nem kell a névterek, mint C ++, szimbólumokat kell elé egy egyedi előtagot, hogy azok ne ütközzenek. Ez különösen fontos a szimbólumok meghatározott keretet.

Ha írunk egy alkalmazást, például, hogy a kód csak akkor valószínű, hogy valaha is használni a szimbólumok, akkor nem kell aggódnia. De ha írsz egy keretet vagy könyvtár mások használnak, akkor is előtagot a szimbólumok egy egyedi előtagot. CocoaDev egy oldal , ahol sok a fejlesztők a Cocoa közösség felsorolt saját „választott” előtagot. Ön is megtalálja ezt a SO vita hasznos.

Válaszolt 23/01/2009 18:52
a forrás felhasználó

szavazat
390

Ez a NeXTSTEP örökséget.

Válaszolt 23/01/2009 18:24
a forrás felhasználó

szavazat
140

N ext S TEP vagy N eXTSTEP / S un attól függően, ki kértek.

Sun volt egy elég nagy beruházás OpenStep egy darabig. Mielőtt Sun belépett a képbe a legtöbb dolog az alapítvány, annak ellenére, hogy még nem volt ismert, mint az alapítvány akkoriban volt előtaggal NX , az N e X T, és valamikor előtt Nap belépett a kép mindent átnevezték NS . Az S valószínűleg nem állt Sun majd, de miután a Sun belépett az általános konszenzus volt, hogy állt a Sun tiszteletére való részvétel.

Igazából volt egy utalás erre, de nem találom most. Fogom frissíteni a bejegyzést, ha / amikor találja meg újra.

Válaszolt 23/01/2009 19:03
a forrás felhasználó

szavazat
50

Ez a NextStep (= NS) örökség. Aztán jött a számítógépes cég, hogy Steve Jobs alakult után kilépett az Apple 1985-ben, és NextStep volt ez az operációs rendszer (UNIX alapú) együtt Obj-C nyelv és futtató. Együtt ez a könyvtárak és eszközök, NextStep később átnevezték OpenStep (amely egyben a nevét egy API, hogy a jövő közösen kifejlesztett Sun), ami viszont később Kakaó.

Ezek a különböző nevek valójában elég zavaró (különösen azért, mert néhány, a nevek csak abban különbözik, mely karakterek kis- és nagybetűket ..), próbálja ki ezt a magyarázatot:

TheMerger OpenstepConfusion

Válaszolt 23/01/2009 19:01
a forrás felhasználó

szavazat
38

Apple fejlesztői dokumentációban:

Történelmi Megjegyzés: Ha kíváncsi, miért olyan sok az osztályok találkozik van egy NS előtagot, hogy azért, mert a múltbeli Kakaó és Cocoa Touch. Kakaó kezdődött az élet, mint az összegyűjtött keretek építésére használták alkalmazásokat az NeXTSTEP operációs rendszer. Amikor az Apple megvásárolta NeXT még 1996-ban, sok nextstep beépítette OS X, beleértve a meglévő osztályok neveit. Cocoa Touch vezették be az IOS egyenértékű Cocoa; Egyes osztályok állnak mind Kakaó és Cocoa Touch, bár ott is számos osztályok egyedi minden platformon. Kétbetűs előtagokat mint NS és UI (felhasználói felület elemeit iOS) számára vannak fenntartva az Apple.

Forrás: Programozás Objective-C

Válaszolt 19/03/2013 05:53
a forrás felhasználó

szavazat
21

Tól Cocoa_ (API) Wikipedia :

(Kiemelés tőlünk)

Kakaó osztályok kezdődik rövidítéssel „NS” (álló vagy a NeXT-Sun létrehozása OpenStep , vagy az eredeti tulajdonosi kifejezés a OpenStep keret NeXTSTEP ): NSString, NSArray stb

Alapítvány Kit , vagy még gyakrabban egyszerűen Alapítvány , először OpenStep . A Mac OS X, ez alapján Core Foundation. Alapítvány egy általános objektum-orientált könyvtár biztosítja húr és az érték manipuláció, konténerek és ismétlések elosztott számítási, fuss hurkok, és egyéb funkciók, amelyek nem közvetlenül kapcsolódik a grafikus felhasználói felület. Az „NS” előtagot , használható minden osztály és állandók keretében származik kakaó OPENSTEP örökség, amelyet közösen fejlesztett NeXT és Naptól való .

Válaszolt 27/10/2011 19:08
a forrás felhasználó

szavazat
10

Amikor legközelebb arra meghatározó NextStep API (ellentétben a NEXTSTEP operációs rendszer), használták az előtag NX, mint NXConstantString. Amikor írtak a OpenStep leírás Sun (nem tévesztendő össze a OPENSTEP operációs rendszer) használták az NS előtag, mint NSObject.

Válaszolt 24/01/2009 03:32
a forrás felhasználó

szavazat
6

Bill Bumgarner aka @bbum, ki tudja , felkerül a CocoaBuilder levelezőlistán 2005 :

Nap belépett a kép egy kicsit, miután az NS előtag jött szóba. Az NS előtag jött a nyilvános API-kat a mozgás alatt a NeXTSTEP 3,0 NeXTSTEP 4,0 (más néven OpenStep). A 4.0, egy marék használt szimbólumok NX előtagot, de a legtöbb osztályok a rendszer által biztosított könyvtárak nem előzi meg minden - List, hash, kilátás, stb ...

Úgy tűnik, hogy mindenki egyetért abban, hogy az előtag NX (NeXT) használunk, amíg 1993/1994, és az Apple docs mondani :

A hivatalos OpenStep API szeptemberében közzétett 1994-es volt az első, hogy szét az API közötti Alapítvány és alkalmazás készlet, és az első, hogy a „NS” előtagot.

Válaszolt 05/09/2015 04:04
a forrás felhasználó

szavazat
5

Alapvetően NS származik N ext S TEP, az eredeti operációs rendszer, amely vált a Mac OS X, amikor az Apple megszerezte a Tovább gombra.

Azt akarom megmagyarázni valami mást, és ez az, amiért éppen szükség van rá.

A C ++ vannak a névterek és szinte bármi a std

Ez miért van, std :: húr.

A névterek használják, így egyre nehezebb számodra, hogy hibázik, és írhat a saját osztálya húr nélkül ütköznek a rendszer egy.

Objective-C halmaza C, de nem tartalmazza a névterek és ugyanezen okból mindenekelőtt rendszer osztályok preffixed NS vagy valami más különös preffix.

Ez a dolog ugyanaz az, hogy az összes DirectX osztályok preffixed a D3D és OpenGL, hogy minden osztályban preffixed a gl .

Ez azt jelenti, hogy ne használja NS megnevezni saját osztályokat, és amikor megjelenik NS , CA Core Animation vagy CG Core Graphics érti, hogy ez egy felhívás egy olyan rendszer keretét.

Swift változások ezt a konvenciót, mert Swift támogatja névterek és térképek alapvető típusok, mint a karakterlánc az NS ekvivalens.

Válaszolt 08/01/2017 12:27
a forrás felhasználó

szavazat
1

Ez a NeXTSTEP örökség

Válaszolt 09/06/2019 12:30
a forrás felhasználó

szavazat
1

Következő lépés. Ez egy holdover amikor Objective-C által létrehozott melletti levelet nextstep (később OS X) és az összes kapcsolódó alkalmazások, stb Ők képviselik elemeket, amelyek nem részei az eredeti C alapja, például nincs „szöveg” elem C, így az objektív-c, ez egy újabb alapot elem „NSString”.

Válaszolt 21/06/2017 06:32
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more