ProgramingTip

iPhone 유형을 확인하는 방법은 무엇입니까?

bestdevel 2020. 11. 22. 20:23
반응형

iPhone 유형을 확인하는 방법은 무엇입니까?


개체의 유형을 확인하고 싶습니다. 어떻게 할 수 있습니까?

시나리오는 내가 물건을 얻는 것입니다. 해당 개체가 A 유형이면 몇 가지 작업을 수행하십시오. B 유형이면 몇 가지 작업을 수행하십시오. 현재 개체의 유형은 A와 B의 부모 인 C입니다.

두 개의 클래스 AViewControllerBViewController. 내가 물건은 물건 UIViewController. 이제 개체가 AViewController또는 인지 확인하는 방법은 BViewController무엇입니까?


if([some_object isKindOfClass:[A_Class_Name class]])
{
    // do somthing
}


NSObject에는 클래스를 확인할 수 있습니다.

먼저 -classobject-의 클래스를 반환 할을 구석으로입니다. 이것은 AViewController 또는 BViewController를 반환합니다.

그리고이 두 가지 방법을이다, -isKindofClass:하고 isMemberOfClass:.

-isKindOfClass: 전달 된 클래스와 비교하고 클래스가 동일한 유형인지 또는 주어진 클래스의 하위 클래스인지 여부에 따라 true 또는 false를 반환합니다.

-isMemberOfClass: 전달 된 클래스와 비교하고 클래스가 지정된 클래스와 엄격하게 동일한 클래스인지 여부에 따라 또는 거짓을 반환합니다.


Objective-C에서보다 응용 패턴은 객체가 관심있는 메소드에 응답하는지 확인하는 것입니다. 예 :

if ([object respondsToSelector:@selector(length)]) {
    // Do something
}

if ([object conformsToProtocol:@protocol(NSObject)]) {
    // Do something
}

참고 URL : https://stackoverflow.com/questions/1368124/iphone-how-to-check-the-type-of-an-object

반응형