[ios] NS 접두사는 무엇을 의미합니까?

Cocoa / Cocoa Touch의 많은 클래스에는 NS 접두사가 있습니다. 무슨 뜻이에요?



답변

그것은 NeXTSTEP 유산 에서 온 것 입니다.


답변

Cocoa 프레임 워크의 원래 코드는 NeXTSTEP 라이브러리 Foundation 및 AppKit (이 이름은 여전히 ​​Apple의 Cocoa 프레임 워크에서 사용됨) 에서 가져 왔으며 NextStep 엔지니어는 심볼 앞에 NS를 추가하기로했습니다.

Objective-C는 C의 확장이므로 C ++에서와 같이 네임 스페이스가 없으므로 기호 앞에 고유 한 접두사가 붙어서 충돌하지 않도록해야합니다. 이것은 프레임 워크에 정의 된 심볼에 특히 중요합니다.

코드에서 기호 만 사용할 가능성이있는 응용 프로그램을 작성하는 경우에는 걱정할 필요가 없습니다. 그러나 다른 사람이 사용할 수 있도록 프레임 워크 또는 라이브러리를 작성하는 경우 기호 앞에 고유 접두사를 붙여야합니다. CocoaDev에는 Cocoa 커뮤니티의 많은 개발자들이 “선택한”접두사를 나열한 페이지 가 있습니다. 이 SO 토론이 도움 될 수도 있습니다.


답변

요청한 사람에 따라 N eXT S TEP 또는 N eXTSTEP / S un이 있습니다.

썬은 한동안 OpenStep에 상당히 많은 투자를했습니다. 썬은이 당시 기초로 알려져 있지에도 불구하고, 재단에서 사진 가장 일을 입력하기 전에, 접두사 된 NX를 들어, N E X T, 썬은 사진의 모든 것이로 변경되었습니다 입력 언젠가 직전 NS . S는 대부분 다음 일을 위해 서 있지만, 일이 일반적인 합의 밟은 후 자신의 참여를 존중하는 일에 대해 서 것이었다하지 않았다.

실제로 이것에 대한 참조가 있었지만 지금은 찾을 수 없습니다. 게시물을 다시 찾은 경우 업데이트합니다.


답변

NextStep (= NS) 유산입니다. NeXT는 Steve Jobs가 1985 년에 Apple을 종료 한 후 설립 한 컴퓨터 회사였으며 NextStep은 Obj-C 언어 및 런타임과 함께 운영 체제 (UNIX 기반)였습니다. NextStep은 라이브러리 및 도구와 함께 나중에 OpenStep (NexT가 Sun과 함께 개발 한 API의 이름이기도 함)으로 이름이 바뀌었고 나중에 코코아가되었습니다.

이러한 다른 이름은 실제로 매우 혼동됩니다 (특히 일부 이름은 문자가 대문자 또는 소문자 만 다르므로). 설명을 위해 다음을 시도하십시오.

The Merger OpenstepConfusion


답변

Apple 개발자 문서에서 :

역사적 메모 : 왜 그렇게 많은 클래스에 NS 접두사가 있는지 궁금하다면, 과거의 Cocoa와 Cocoa Touch의 역사 때문입니다. Cocoa는 NeXTStep 운영 체제 용 앱을 구축하는 데 사용되는 수집 된 프레임 워크로 시작되었습니다. Apple이 1996 년 NeXT를 다시 구입했을 때 기존 클래스 이름을 포함하여 NeXTStep의 많은 부분이 OS X에 통합되었습니다. Cocoa Touch는 iOS와 동등한 Cocoa로 소개되었습니다. 일부 클래스는 Cocoa 및 Cocoa Touch 모두에서 사용할 수 있지만 각 플랫폼마다 고유 한 클래스가 많이 있습니다. NS 및 UI (iOS의 사용자 인터페이스 요소 용)와 같은 두 글자 접두사는 Apple에서 사용하도록 예약되어 있습니다.

출처 : Objective-C를 사용한 프로그래밍


답변

에서 Cocoa_ (API) 위키 백과 :

(강조 추가)

Cocoa 클래스는 약어 “NS”로 시작 합니다 ( OpenX
NeXT-Sun 작성 또는 OpenStep 프레임 워크, NeXTSTEP 의 원래 독점 용어 ) : NSString, NSArray 등

Foundation Kit 또는 더 일반적으로 FoundationOpenStep 에서 처음 등장했습니다
. Mac OS X에서는 Core Foundation을 기반으로합니다. Foundation은 문자열 및 값 조작, 컨테이너 및 반복, 분산 컴퓨팅, 실행 루프 및 그래픽 사용자 인터페이스에 직접 연결되지 않은 기타 기능을 제공하는 일반적인 객체 지향 라이브러리입니다. 프레임 워크의 모든 클래스와 상수에 사용되는 “NS”접두사 NeXTSun 이 공동으로 개발 한 Cocoa의 OPENSTEP 유산에서 온 것 입니다.


답변

NeXT가 NEXTSTEP 운영 체제와 달리 NextStep API를 정의 할 때 NXConstantString에서와 같이 접두사 NX를 사용했습니다. OPENSTEP 운영 체제와 혼동하지 말고 Sun에서 OpenStep 사양을 작성할 때 NSObject에서와 같이 NS 접두사를 사용했습니다.