具有多个参数的Objective-C方法调用

具有多个参数的Objective-C方法调用,objective-c,Objective C,我知道下面列出的方法包含两个参数,card和atTop。为什么阿托普要重复两次?我知道addCard是函数名,这个函数返回一个void,其中card是card*类型的变量,我知道atTop是BOOL类型的,但是为什么atTop是两次呢 - (void)addCard: (Card *)card atTop:(BOOL)atTop; 这是因为该方法的全名为 - addCard:atTop: 因此,第一个atTop是函数名的一部分,第二个atTop是参数名(这两个参数在本例中是相等的,仅凭偶然性

我知道下面列出的方法包含两个参数,card和atTop。为什么阿托普要重复两次?我知道addCard是函数名,这个函数返回一个void,其中card是card*类型的变量,我知道atTop是BOOL类型的,但是为什么atTop是两次呢

- (void)addCard: (Card *)card atTop:(BOOL)atTop;

这是因为该方法的全名为

- addCard:atTop:

因此,第一个
atTop
是函数名的一部分,第二个
atTop
是参数名(这两个参数在本例中是相等的,仅凭偶然性,它们可以不同)

这是客观的c表示法

(void)addCard: (Card *)card atTop:(BOOL)atTop;
方法名称(选择器)-“addCard:atTop:”

参数1类型-“卡*”名称-“卡”

参数2类型-“BOOL”名称“atTop”


返回值-Obj中的“void”

。C、 所有附加参数必须与名称和变量关联?例如,void(addCard):(Card*)Card atTop:(BOOL)atTop numCards:(int)numCards?我习惯C++,在这里我们只有一个函数名并输入所需的许多变量。我只是想sure@baskInEminence它们不一定是相同的,不。@baskInEminence您所说的(“参数必须与名称和变量相关联”)令人困惑,参数在变量中“具体化”,变量有一个名称来引用它。您甚至可以有一个名为“-addCard:::”(不带“中间子名称”)的函数。它是一个方法,而不是一个函数(存在差异)。最后一个
atTop
是该值的引用名称。例如,它可能是
-(void)addCard:(Card*)Card atTop:(BOOL)myBoolmyBool
访问它。