因為這個真是他媽的困擾我好久!!(拖出去打)
先來講基本型:
CCCallFunc:
[CCCallFunc actionWithTarget:<#(id)#> selector:<#(SEL)#>]這種基本型是不能傳送 argument 的,也無從得知發送此action的是誰。
<#(id)#>:填入function的位置,可以是self,parent_,或者是任何一個物件或是CLASS。
<#(SEL)#>:你的function。
CCCallFuncN & CCCallFuncND :
[CCCallFuncN actionWithTarget:<#(id)#> selector:<#(SEL)#>]被呼叫的function比較特別:
[CCCallFuncND actionWithTarget:<#(id)#> selector:<#(SEL)#> data:<#(Void*)#>]
<#(id)#>:填入function的位置,可以是self,parent_,或者是任何一個物件或是CLASS。
<#(SEL)#>:你的function。
<#(Void*)#>:你要傳遞的數值。
- (void) function名稱:(id)sender
如果後面有跟著data的話,那就在後面增加一個argument就可以了。
舉例來說:
NSString *str = @"JONNY";
[self runAction:[CCCallFuncND actionWithTarget:self selector:@selector(sayHello:mystring:) data:str]];
-(void)sayHello:(id)sender mystring:(NSString*)name{
NSLog(@"Hello!%@",str);
}
再來是現在我比較常使用的:
CCCallFuncO :
[CCCallFuncO actionWithTarget:<#(id)#> selector:<#(SEL)#> object:<#(id)#>]
<#(id)#>:填入function的位置,可以是self,parent_,或者是任何一個物件或是CLASS。
<#(SEL)#>:你的function。
<#(id)#>:你要傳遞的參數。
跟CCCallFuncND有點雷同,但是不同的地方在於——
1.沒有sender。
2.CCCallFuncND好像可以傳送多參數,但是CCCallFuncO確定不行。
沒有留言:
張貼留言
歡迎大家留言提問,我會答的都會盡力回答!
如果太久沒出現回應就是我又忘記回來看留言了TAT