Objective-C中isMemberOfClass使用案例是本文要介绍的内容,主要是来学习isMemberOfClass使用举例isKindOfClass的应用,来看详细内容。
isMemberOfClass方法是来确定对象是否是某一个类的成员。在下一个任务中,我们使用这个方法来验证一个特定的对象是否是一个特定的类成员
例子:
- #import <Foundation/Foundation.h>
- #import <stdio.h>
- @interface Class1 : NSObject
- {
- }
- -(void)print;
- @end
- @implementation Class1
- -(void)print
- {
- printf("This is Class1 .\n");
- }
- @end
- @interface Class2 : NSObject
- {
- }
- -(void)prinf;
- @end
- @implementation Class2
- -(void)prinf
- {
- printf("This is Class2.\n");
- }
- @end
- int main (int argc, const char * argv[]) {
- // insert code here...
- Class1 *c1=[Class1 new];
- Class2 *c2=[Class2 new];
- if ([c1 isMemberOfClass:[Class1 class]]==YES) {
- printf("c1 is Member of Class1 !\n\n");
- }
- if ([c2 isMemberOfClass:[Class2 class]]==YES) {
- printf("c2 is Member of Class2 !\n\n");
- }
- return 0;
- }
输出结果:
- c1 is Member of Class1 !
- c2 is Member of Class2 !
isKindOfClass我们也可以使用isKindOfClass来检查一个对象是否是一个类的成员。isMemberOfClass和isKindOfClass之间区别是:我们可以使用isKindOfClass来确定一个对象是否是一个类的成员,或者是派生自该类的成员。
例如:我们已经成NSObject派生了自己的类,isMemberOfClass不能检测任何的类都是基于NSObject类这一事实,而isKindOfClass可以。
应用举例:
- import <Foundation/Foundation.h>
- #import <stdio.h>
- @interface Class1 : NSObject
- {
- }
- -(void)print;
- @end
- @implementation Class1
- -(void)print
- {
- printf("This is Class 1.\n");
- }
- @end
- int main (int argc, const char * argv[]) {
- // insert code here...
- Class1 *c1=[Class1 new];
- if ([c1 isKindOfClass: [NSObject class]]==YES) {
- printf("c1 is a kind of NSObject . \n");
- }
- return 0;
- }
输出结果;
- c1 is a kind of NSObject .
小结:Objective-C中isMemberOfClass使用案例的内容介绍完了,希望通过本文的学习能对你有所帮助!