반응형
Objective-C에서 Java의 "instanceof"키워드와 동등한 것은 무엇입니까?
객체 (예 someObject
:)가 다른 유형의 변수 (예 :)에 할당 가능 합니까 (캐스트 가능) 여부를 확인하고 싶습니다 SpecifiedType
. Java에서는 다음과 같이 쓸 수 있습니다.
someObject instanceof SpecifiedType
관련 질문은 객체의 런타임 유형이 다른 유형과 같은지 여부를 찾는 것입니다. Java에서는 다음과 같이 쓸 수 있습니다.
someObject.getClass().equals(SpecifiedType.class)
Objective-C에서 어떻게이 작업을 수행 할 수 있습니까?
시도 [myObject class]
객체의 클래스를 반환합니다.
다음과 정확하게 비교할 수 있습니다.
if ([myObject class] == [MyClass class])
직접 MyClass
식별자 를 사용하지는 않습니다 .
마찬가지로, 객체가 다음을 사용하여 클래스의 하위 클래스인지 확인할 수 있습니다.
if ([myObject isKindOfClass:[AnObject class]])
Jon Skeet과 zoul이 제안한대로.
에서 위키 백과 :
예를 들어, Objective-C에서 일반
Object
및NSObject
(Cocoa / OpenStep)는 메소드에 대한 인수가 지정된 클래스의 인스턴스 인 경우isMemberOfClass:
리턴 하는 메소드 를 제공합니다true
.isKindOfClass:
인수가 지정된 클래스에서 상속되는 경우 메소드는 유사하게 true를 리턴합니다.
isKindOfClass:
instanceof
그것의 소리에 가장 가깝 습니다.
NSObject 문서 에서 isKindOfClass : 메소드를 참조하십시오 . (이러한 질문에 대한 일반적인 경고 단어는 객체 클래스를 확인하는 것이 종종 무언가 잘못하고 있다는 표시입니다.)
반응형
'Programming' 카테고리의 다른 글
AndroidX 란 무엇입니까 (0) | 2020.05.16 |
---|---|
값없이 속성 설정 (0) | 2020.05.16 |
Entity Framework 6 코드 첫 번째 기본값 (0) | 2020.05.16 |
jQuery append ()-추가 된 요소 반환 (0) | 2020.05.16 |
목록 이해에 'else'를 사용할 수 있습니까? (0) | 2020.05.16 |