- @protocol MyProtocol
-
- - (void) doSomething;
-
- @end
-
- @interface MyClass : NSObject<MyProtocol>
- {
- }
-
- @end
-
- @implementation MyClass
-
- - (void) doSomething {
- }
-
- @end
-
- @interface MyOtherClass : MyClass
- {
-
- }
-
- @end
-
- @implementation MyOtherClass
-
- - (void) doSomething {
- }
-
- @end
-
-
- int main (int argc, const char * argv[])
- {
- NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
-
- MyClass *obj_one = [MyClass new];
- BOOL one_conforms = [obj_one conformsToProtocol:@protocol(MyProtocol)];
-
- MyOtherClass *obj_two = [MyOtherClass new];
-
-
-
- BOOL two_conforms = [obj_two conformsToProtocol:@protocol(MyProtocol)];
- NSLog(@"obj_one conformsToProtocol: %d", one_conforms);
- NSLog(@"obj_two conformsToProtocol: %d", two_conforms);
- [pool drain]; return 0;
- }
-
-
- obj_one conformsToProtocol: 1
- obj_two conformsToProtocol: 1
-
-
- MyOtherClass *obj_two = [MyOtherClass new];
-
- BOOL conforms_two = class_conformsToProtocol([obj_two class], @protocol(MyProtocol));
- NSLog(@"obj_two conformsToProtocol: %d", conforms_two);
-
-
- obj_two conformsToProtocol: 0
|