Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xib와 Nib #45

Closed
Brandnew-one opened this issue Jul 11, 2023 · 1 comment
Closed

Xib와 Nib #45

Brandnew-one opened this issue Jul 11, 2023 · 1 comment
Assignees
Labels

Comments

@Brandnew-one
Copy link
Owner

Brandnew-one commented Jul 11, 2023

Xib와 Nib

스토리보드의 뷰컨트롤러와 Custom View의 xib파일이 컴파일 이후에 nib파일로 변경되는 것을 확인했는데 xib와 nib은 무엇이 다른것일까?

Nib(=NeXTSETP Interface Builder)

Untitled 4

https://dalgonakit.tistory.com/82

  • 화면을 구성하는 클래스들을 바이너리 형태의 압출 파일로 저장

Xib(=Xcode Interface Builder)

Untitled 5
  • 화면을 구성하는 클래스들을 XML 형태로 저장

두 파일이 생긴 형태를 보면 확실하게 차이를 알 수 있다. Nib은 바이너리 형태로 Xib는 XML 형태로 Interface Builder를 저장하고 있다.


Xib 파일을 컴파일 하면 결국 Nib파일이 생성되는데 왜 Xcode에서는 Xib 파일만 생성하고 관리하도록 지원하고 있을까?

이유는 버전관리에 있다. 물론 스토리보드나 Xib를 사용하는 시점에서 버전관리가 불편하지만 우리가 읽고 전혀 이해하기 힘든 바이너리 형태의 소스코드 보다는 xml 형태로 버전관리를 하는게 더 편하기 때문이다.

(그리고 Xcode에서는 Xib파일을 xml이 아닌 그래픽 형태로 수정할 수 있도록 지원하고 있다)

@Brandnew-one Brandnew-one self-assigned this Jul 11, 2023
@Brandnew-one
Copy link
Owner Author

✋ NS의 의미

사실 오늘 정리하는 내용과는 크게 상관없는데 Nib의 NeXTSTEP이 나온김에 한번 정리하고 넘어가려고 한다.

아마 개발하면서 접두사로 NS를 굉장히 많이 접해본 경험이 있을텐데 이 NS는 대체 무엇을 의미하는 걸까?

(NS = Objective-C 관련) 정도로 생각하고 있는 분들이 많으실것 같은데 거의 정답에 가깝다.

NeXT STEP의 앞글자를 따서 NS를 사용하는데 NeXT에서 만든 NeXTSTEP OS는 대부분 Objective-C로 구현되어 있다. 근데 Apple에서 왜 NeXT사에서 만든 접두사를 사용하고 있을까?

이는 스티브 잡스님에 대한 일대기를 찾아보면서 알 수 있다.

NeXTSTEP


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant