#include <stdio.h> | |
#include <objc/Object.h> | |
@protocol Job | |
-do; | |
@end | |
@interface MyJob : Object<Job> | |
-do; | |
@end | |
@implementation MyJob | |
-do | |
{ | |
printf("Doing Job\n"); | |
return self; | |
} | |
@end | |
@interface JobExecutor : Object | |
-doWith: (id<Job> ) job for: (int)count; | |
@end | |
@implementation JobExecutor | |
-doWith: (id<Job> )job for: (int)count | |
{ | |
for (int i = 0; i < count; ++i) | |
{ | |
[job do]; | |
} | |
return self; | |
} | |
@end |