131
技術社區[雲棲]
obj-c編程03:多個參數方法的定義
好吧,雖說本貓不能自吹精通十幾種語言,但是也見過十幾種語言的語法啊.像obj-c這樣奇葩,或者說另類的寫法還是頭一次見到,完整寫法我都不知道怎麼起方法名了.雖說有簡短寫法,可和C比起來那個"繁瑣"啊,更別說ruby了,我感覺asm都別他簡單些哦.
好了,廢話不說了,現在我們為Box類添加一個新的實例方法,一次性設置l和w的值,就是說該方法有2個參數哦.我們為它起名為...為....為不出來鳥.勉強起 set_l: and_w: 吧:
#import <Foundation/Foundation.h> @interface Box:NSObject{ int l; int w; } @property int l,w; -(void)set_l :(int)l and_w:(int)w; -(void)print; @end
實現如下:
-(void)set_l:(int)l_v and_w:(int)w_v{ l = l_v; w = w_v; }
調用如下:
[box set_l:1001 and_w:1002];
這個是否繼承了smalltalk的基因哦?我不確定,但我確定一定有更簡單的寫法,那些語言黑客的KISS原則哪去了?bingo!果然有,寫法如下:
-(void)set_all :(int)l :(int)w; -(void)set_all:(int)l_v :(int)w_v{ l = l_v; w = w_v; } [box set_all:2001:2002];
還好還好

最後更新:2017-04-03 06:03:06