不得不说,Obj-C所谓的中缀表达式真的蛮奇怪的,当无参或者只有一个参数时看起来还不错:
//无参数的方法 -(void) say; [employee say]; //只有一个参数的方法 -(void) say (NSString *)name [employee say @"lishujun"];
但是方法多个参数时看起来就比较乱了,居然能把一个方法名分成不同的部分
我觉得这样似乎更自然一些:
#import <Foundation/Foundation.h> @interface Employee : NSObject { } @end @implementation Employee -(void)say:(NSString *)firstName :(NSString *)lastName { NSLog(@"HELLO i'm %@ %@",lastName, firstName); } @end int main(int argc, const char * argv[]) { @autoreleasepool { id employee = [Employee new]; [employee say : @"li" : @"shujun"]; } return 0; }