답변 해 주셔서 감사합니다.
'정적'대 '클래스 방법'에 대해서 AFAIK는 이름을 짓는 것일뿐 실제적인 차이는 없습니다. '함수/메소드'및 '메시지'와 같습니다.
그러나 이것은 반드시 '잘못된'디자인 일 필요는 없습니다. 먼저 ObjC에는 네임 스페이스가 없다는 것을 기억해야합니다. 따라서 어떤 순서를 지정하는 유일한 방법은 클래스입니다. 왜냐하면 두 함수의 이름이 충돌하면 컴파일러는 큰 소리로 외칠 것입니다. 때때로 'Utility'함수이고 다른 개체에서 작업하거나 특정 계산을 수행하는 특정 함수를 직접 관리 할 수있는 특정 함수가있을 수 있습니다. 불필요한 오버 헤드.
매우 숙련 된 C/C++/Asm/Others 프로그래머로서 ObjC에서 프로그래밍 할 때 성능상의 이유로 항상 메모리를 공개하는 경향이 있습니다. 같은 이유로, 필자는 불필요한 오버 헤드를 생성하고 싶지 않습니다. 그리고 ObjC에는 많은 오버 헤드가 있습니다.
도큐멘트는 NSObject에서 반드시 상속 받았다고 말하지 않으며 프레임 워크가 올바르게 관리하기를 원할 때 말합니다.
하지만 관리 할 필요가 없다는 것을 이해 했으므로이 함수는 클래스 이름의 네임 스페이스 안에 래핑 된 함수 여야합니다.
약 + initiallize - 클래스가 NSObject에서 상속하는 경우에만 재정의 할 수 있습니다.그래서 원래의 질문은 여전히 존재합니다. NSObject에서 서비스를 원하지 않는다면 NSObject를 상속해야하는 이유는 무엇입니까? 나는 그것의 인스턴스와 아무 상관이 없으므로 클래스를 할당하거나 초기화 할 필요가 없다!
또한 ObjC의 이상한 점은 클래스 메서드를 재정의 할 수 있다는 것입니다.
NSObject에서 상속하는 것은 프로그램의 크기 나 성능에 눈에 띄는 차이를 만들지 않을 것입니다. * 상속하지 않으면 더 고통 스러울 것입니다. – dreamlax