반응형
인스턴스에서 클래스 이름 얻기
다음과 같은 문제가 있습니다. 클래스의 인스턴스가 전달되었고이 인스턴스의 클래스 이름을 알고 싶습니다. 이것을 얻는 방법?
NSStringFromClass([instance class])
트릭을해야합니다.
객체를 테스트하여 특정 클래스의 유형인지 확인하십시오.
BOOL test = [self isKindOfClass:[SomeClass class]];
수업 자체에서
-(NSString *) className
{
return NSStringFromClass([self class]);
}
카테고리를 추가하십시오.
NSObject+Extensions.h
- (NSString *)className;
NSObject+Extensions.m
- (NSString *)className {
return NSStringFromClass(self.class);
}
그런 다음 다음 코드를 사용하십시오.
NSString *className = [[SomeObject new] className];
또는:
NSString *className = SomeObject.new.className;
어디서나 사용하려면 YourProject.pch 파일에 범주를 추가하십시오.
당신은 또한 사용할 수 있습니다 [[self class] description]
OBJC :
NSStringFromClass([instance class])
빠른
인스턴스에서 :
String(describing: YourType.self)
유형에서 :
String(describing: self)
Swift에서 클래스 이름을 얻는 방법을 찾고 있다면 reflect를 사용하여 객체에 대한 정보를 얻을 수 있습니다.
let tokens = split(reflect(self).summary, { $0 == "." })
if let typeName = tokens.last {
println(typeName)
}
참고 URL : https://stackoverflow.com/questions/2217560/getting-name-of-the-class-from-an-instance
반응형
'development' 카테고리의 다른 글
URL에서 프로토콜 + 호스트 이름 가져 오기 (0) | 2020.06.24 |
---|---|
Google Analytics의 개발 작업을 조회수로 삼는 방법이 있습니까? (0) | 2020.06.24 |
Rails after_save 콜백에서 변경된 속성을 결정 하시겠습니까? (0) | 2020.06.24 |
Runtime.getRuntime (). totalMemory () 및 freeMemory () 란 무엇입니까? (0) | 2020.06.24 |
PHP에서 숫자를 월 이름으로 변환 (0) | 2020.06.24 |