2ba*_*ard 10 java objective-c ios
简单的问题:可以公平地说,Objective-C中的'isa'实例变量提供与Java中'instanceof'运算符相同的功能吗?
Jac*_*kin 14
这些是不同的概念.
一个是结构的成员,而另一个是运算符.
要模仿instanceofJava 中对运算符的严格解释,可以对isa成员进行指针比较:
if(obj->isa == [SomeClass class]) {
//obj is an instance of SomeClass
}
Run Code Online (Sandbox Code Playgroud)
但建议您使用NSObject协议的-isMemberOfClass:方法来完成此任务:
if([obj isMemberOfClass:[SomeClass class]]) {
//obj is an instance of SomeClass
}
Run Code Online (Sandbox Code Playgroud)
如果您有兴趣知道指定的类是否是另一个类的实例,或者是另一个类的子类,则应该使用NSObject协议的-isKindOfClass:方法.
| 归档时间: |
|
| 查看次数: |
4849 次 |
| 最近记录: |