定义一个Photo类,并带有2个draw方法, 一个带参数、一个不带参数。
Photo.h
#import <Foundation/Foundation.h>
@interface Photo : NSObject {
@private
}
-(void) draw;
-(void) draw:(NSNumber*) number;
@end
Photo.m
#import "Photo.h"
@implementation Photo
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
-(void) draw
{
[self draw:[NSNumber numberWithInt:(arc4random() % 100)]];
}
-(void) draw:(NSNumber *)number
{
NSLog(@"%@", number);
}
@end
main.m
#import <Foundation/Foundation.h>
#import "Photo.h"
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
//创建Photo数组
NSArray *photos = [NSArray arrayWithObjects:[[Photo alloc] init],[[Photo alloc] init], nil];
//不带参数
[photos makeObjectsPerformSelector:@selector(draw)];//这里不用有:,是因为没有参数
//带参数
[photos makeObjectsPerformSelector:@selector(draw:) withObject:[NSNumber numberWithInt:(arc4random() % 101 +100)]];
[pool drain];
return 0;
}
结果:
[Switching to process 4348 thread 0x0]
2011-05-10 10:34:23.036 demo01[4348:903] 85
2011-05-10 10:34:23.039 demo01[4348:903] 33
2011-05-10 10:34:23.040 demo01[4348:903] 153
2011-05-10 10:34:23.040 demo01[4348:903] 153