NS prefiksi nə deməkdir?

Kakao / Kakao toxumunda bir çox dərs NS ilə prefektivdir. Bu nə deməkdir?

477
23 янв. Martin08, 23 yanvarda təyin olundu 2009-01-23 20:22 '09 saat 20:22 'da 2009-01-23 20:22
@ 10 cavab
359
23 янв. Cavab Olaf Kock tərəfindən 23 Yanvarda verilir 2009-01-23 20:24 '09 saat 20:24 'da 2009-01-23 20:24

Kakao çərçivələri üçün mənbə kodu NeXTSTEP Fondu və AppKit kitabxanalarından əldə edildi (bu adlar hələ də Apple Cocoa tərəfindən istifadə olunur) və NextStep mühəndisləri NS sembollərini önləməyə qərar verdi.

Objective-C, C'nin bir uzantısı olduğundan ve bu nedenle, C ++'a benzer adlara sahip olmadıklarından, simgelerin çarpışmaması üçün benzersiz bir önekiyle bir önek olması lazımdır. Bu, çərçivədə müəyyən edilmiş simvollar üçün xüsusilə vacibdir.

border=0

Bir proqram yazırsınızsa, kodunuz çox güman ki simvolları istifadə edir, bununla əlaqədar narahatlığınız yoxdur. Ancaq başqaları tərəfindən istifadə üçün bir çərçivə və ya kitabxana yazırsanız, simvollarınızı unikal bir prefiks ilə də ön göstərməlisiniz. CocoaDev, Kakao icmasının bir çox inkişaf etdiricisinin "seçilmiş" prefikslərini göstərdikləri bir səhifə var. Bu mübahisəni də tapa bilərsiniz.

714
23 янв. Cavab Barry Wark tərəfindən 23 yanvarda verilir. 2009-01-23 20:52 '09 da 20:52 'da 2009-01-23 20:52

N eXT S TEP və ya N eXSTSTEP / S , soruşduğunuz kimdən asılı deyil.

Uzun müddətdir Sun, OpenStep'də olduqca böyük bir sərmayə qoydu. Günəş təsvirə daxil edilməzdən əvvəl təməlində ən çox şey olsa da, o zaman təməl olaraq bilinməmiş olsa da, NX ilə əvvəlcədən, N e X T üçün, bəzən isə Günəşin şəkillə daxil edilməsindən əvvəl hər şey dəyişildi NS. S, ehtimal ki, Günəşin arxasında dayanmadı, lakin Günəş ümumi konsensusa daxil olduqdan sonra Günəş onların iştirakını müşahidə etdiyini ifadə etdi.

Mən, həqiqətən, bunun bir əlaqəsi var idi, amma indi bunu tapa bilmirəm. Yenidən tapmaqda / mesajı yeniləyirəm.

136
23 янв. David Holm tərəfindən cavab 23 Yanvar 2009-01-23 21:03 '09 09:03 PM 2009-01-23 21:03

Bu, NextStep (= NS) irsidir. NeXT, 1985-ci ildə Apple'dan ayrıldıqdan sonra Steve Jobs tərəfindən yaradılan bir kompüter şirkəti idi və NextStep, Obj-C dili və işləmə müddəti ilə birlikdə bir əməliyyat sistemi (UNIX əsasında). Bununla yanaşı, NextStep-in kitabxanaları və alətləri daha sonra OpenStep adlandırıldı (daha sonra günəşlə birlikdə NeXT tərəfindən hazırlanmış API-nin adı idi), sonra isə Kakao oldu.

Bu fərqli adlar həqiqətən olduqca kafa karıştırıcıdır (xüsusən adların bəziləri simvollar yuxarı və ya aşağı halda olduqda fərqlənir). Bunu izah etmək üçün cəhd edin:

TheMerger OpenstepConfusion

47
23 янв. Cavab 23 yanvarda Gregor tərəfindən verilir . 2009-01-23 21:01 '09 at 09:01 PM 2009-01-23 21:01

Apple developer sənədlərindən:

Tarixi qeyd. Karşılaştığınız sınıfların bir çoxunun neden Kakao ve Kakao Touch'un keçmiş tarixi nedeniyle NS öneki olduğuna merak ediyorsanız. Kakao, həyatını NeXTStep əməliyyat sistemi üçün ərizə yaratmaq üçün istifadə edilən toplanmış çərçivə kimi başlamışdır. NeXT 1996-cı ildə NeXT-i əldə etdiyi zaman, NeXTStep'in ən çoxu mövcud sinif adları da daxil olmaqla OS X-yə daxil edilmişdir. Kakao Touch iOS Cocoa ekvivalenti olaraq təqdim edildi; Hər platforma unikal olan çox sayda sinif var, baxmayaraq ki, bəzi dərslər həm Kakao, həm də Kakao Touch-da mövcuddur. NS və UI (IOS-da istifadəçi interfeysi elementləri üçün) kimi iki məktublu öneklər Apple tərəfindən istifadə üçün qorunur.

Mənbə: Objective-C ilə proqramlaşdırma

35
19 марта '13 в 7:53 2013-03-19 07:53 Cavab Jonathan Lin tərəfindən 19 Mart 'da 7:53' də verildi 2013-03-19 07:53

Cocoa_ (API) Vikipediyadan :

(italik)

Kakao dərsləri "NS" kısaltması ilə başlayır ( NeXT-Sun OpenStep yaratmaq üçün və ya OpenStep, NeXTSTEP çərçivəsindəki mülk müddəti üçün): NSString, NSArray və s.

Foundation Kit, ya da daha tez-tez Foundation, ilk OpenStep-də ortaya çıxdı. Mac OS X-də, Core Vəqfinə əsaslanır. Vəqf bir simli və manipulyasiya, konteynerlər və təkrarlama, paylanmış hesablama, loop başlanğıcı və qrafik istifadəçi interfeysi ilə birbaşa əlaqələndirilməyən digər funksiyaları təmin edən universal bir obyekt yönümlü kitabxanadır. Quruluşdakı bütün siniflər və sabitlər üçün istifadə edilən "NS" prefiksi , NeXT və Sun tərəfindən ortaq şəkildə hazırlanmış Kakoa irsi OPENSTEP- dən gəlir .

19
27 окт. cavab 27 oktyabr cədvəlinə verilir . 2011-10-27 21:08 '11 at 21:08 2011-10-27 21:08

NeXT NextStep API ilə müəyyən edildikdə (NEXTSTEP əməliyyat sistemindən fərqli olaraq) NXConstantString kimi NX prefiksini istifadə etdilər. Günəşdən istifadə edərək OpenStep spesifikasiyasını yazdıqda (OPENSTEP əməliyyat sistemi ilə qarışmamaq üçün) NSObject kimi NS prefiksini istifadə etdilər.

8
24 янв. Cavab 24 Yanvar 2423 tarixində verilir 2009-01-24 05:32 '09 da 5:32 'də 2009-01-24 05:32

Bill Bumgarner aka @bbum, bilməli , 2005-ci ildə CocoaBuilder poçt siyahısında dərc edilmişdir:

Gün.Az NS prefiks oyuna daxil olduqdan sonra təsvirə bir az daxil oldu. NeXTSTEP 3.0-dan NeXTSTEP 4.0-a (OpenStep kimi də tanınır) keçid zamanı NS prefiksi ictimai API-larda yaranmışdır. 4.0-ə qədər bir neçə simvol NX prefiksini istifadə etdi, lakin sistem kitabxanaları tərəfindən təqdim edilən siniflərin əksəriyyəti heç bir prefiks deyildir - Siyahı, Hashtable, View və s.

Görünür, hər kəs NX prefiksinin (NeXT üçün) 1993/1994-cü ilədək istifadə edildiyini və Apple docs deyir :

1994-cü ilin sentyabrında nəşr olunan rəsmi OpenStep API, ilk növbədə, Fond və tətbiqi dəsti arasında API və NS prefiksini istifadə etmək üçün birinci oldu.

5
05 сент. Cavab Simon Woodside tərəfindən verilir. 2015-09-05 07:04 '15 at 07:04 2015-09-05 07:04

Əsasən, NS N Ext S TEP-dən gəlir, Apple əməliyyat sistemi Mac OS X-yə çevrilmişdir.

Başqa bir şey izah etmək istəyirəm, buna görə də lazım olan bir şeydir.

C ++-da ad boşluqları var və demək olar ki, hər şey STD'ye gedir .

Buna görə std :: string var.

Adlar istifadə olunur, buna görə səhv etmək çətindir və sistem sinifinə zidd olmadan öz sinif dize yaza bilərsiniz.

Objective-C, C'nin bir üstüdür, ancaq ad boşluklarını içermez ve eyni sebeple, ilk növbədə, sistem sinifleri NS öneki ya da başqa bir garip öneki malikdir.

Bu, D3D prefiksinə malik olan bütün DirectX sinifləri ilə eynidır və bütün OpenGL sinfləri kimi gl ilə prefiks var.

Bu, öz siniflərinizə zəng etmək üçün NS istifadə etmək demək deyildir və Core Animation və ya CG- də Core Graphics-də NS , CA -ya baxdığınızda bu bir sistem zəngidir.

Swift bu konvensiyanı dəyişir, çünki Swift ad sahəsi dəstəkləyir və onun əsas növləri, məsələn, String, NS ekvivalentlərinə aiddir.

4
08 янв. Cavab Daniel Georgievə Jan 08 verildi 2017-01-08 15:27 '17 də 15:27 2017-01-08 15:27

NextStep. Bu, obyektiv-c növbəti xahişi yazmaq üçün NeXT tərəfindən yaradılmış və sonrakı şərtlərdən (sonrakı os x) və bütün müvafiq ərizə və s. Onlar orijinal C çərçivəsinin bir hissəsi olmayan elementləri təmsil edirlər, məsələn, C-də 'string' elementi yoxdur, belə ki obyektiv-c, bu "NSString" in əlavə təməl elementidir.

0
21 июня '17 в 9:32 2017-06-21 09:32 Cavab Ramprasathselvam tərəfindən 21 İyun 21:32 ' da 9:32 2017-06-21 09:32' də verilir