클래스 객체 자체에서 클래스의 문자열 이름을 가져 오려고합니다. // For instance [NSArray className]; // @"NSArray" 나는 그것을 찾았 object_getClassName(id obj)지만 인스턴스가 전달되어야하며 내 경우에는 불필요한 작업입니다. 그렇다면 인스턴스가 아닌 클래스 객체에서 문자열을 어떻게 얻을 수 있습니까?
Objective-C 에서 semi-private 메서드를 선언하는 여러 전략을 보았지만 진정한 private 메서드를 만드는 방법은없는 것 같습니다. 동의합니다. 그러나 이것이 왜 그렇습니까? 내가 본질적으로 말한 모든 설명은 "당신은 할 수 없지만 여기에 가까운 근사치입니다." ivars범위를 제어하는 (멤버)에 적용되는 여러 키워드가 있습니다 (예 : @private,, @public) @protected. 방법에 대해서도이 작업을 수행 할 수없는 …
Swift로 몇 가지 isa를 테스트 한 결과 NSObject가 수퍼 클래스 (직접 또는 더 높은 수준)이거나 '@objc'장식을 사용하는 경우에만 작동한다는 것을 발견했습니다. 그렇지 않으면 C ++와 같은 static- 및 vtable-dispatch 스타일을 따릅니다. Cocoa / NSObject 기본 클래스없이 Swift 클래스를 정의하는 것이 정상입니까? 내가 염려된다면 이것은 메소드 인터 셉션 및 런타임 인트로 …