programing

목표 C 클래스 -> 문자열: [NSArray className] -> @"NSArray"

easyjava 2023. 4. 9. 22:29
반응형

목표 C 클래스 -> 문자열: [NSArray className] -> @"NSArray"

클래스 객체 자체에서 클래스의 문자열 이름을 가져오려고 합니다.

// For instance
[NSArray className]; // @"NSArray"

object_getClassName(id obj)하지만 그런 건 예를 들어줘야 하고, 내 경우엔 그건 불필요한 작업이야.

인스턴스가 아닌 클래스 객체에서 문자열을 가져오려면 어떻게 해야 하나요?

NSString *name = NSStringFromClass ([NSArray class]);

다른 방법으로도 돌아갈 수 있습니다.

Class arrayClass = NSClassFromString (name);
id anInstance = [[arrayClass alloc] init];

타이핑을 조금 줄인 다른 방법이 있습니다.

NSString *name = [NSArray description];

다음 대안을 고려해 보십시오.

const char *name = class_getName(cls);

를 NSString ASCII로 빠릅니다.NSString그렇게해서NSStringFromClass()구현되어 있습니다.

언급URL : https://stackoverflow.com/questions/2331983/objective-c-class-string-like-nsarray-classname-nsarray

반응형