2014-02-16 46 views
1

我知道下面列出的方法需要2個參數card和atTop。爲什麼atTop重複兩次?我知道addCard是函數的名稱,並且此函數返回一個void,其中card是Card *類型的變量,我知道atTop的類型爲BOOL,但爲什麼atTop是兩次?用多個參數調用的Objective-C方法

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

最後一個'atTop'是該值的引用名稱。例如它可以是' - (void)addCard:(Card *)card atTop:(BOOL)myBool;'並且在你使用'myBool'訪問它的函數內部。 –

回答

2

這是因爲該方法的全稱是

- addCard:atTop: 

所以第一atTop是函數名稱的一部分,第二atTop是參數的名稱(兩者都是在這種情況下等於只是巧合,它們可以不同)

+0

在Obj。 C,所有附加參數必須與名稱和變量相關聯?例如, void(addCard):(Card *)卡atTop:(BOOL)atTop numCards:(int)numCards? 我習慣於C++,我們只有一個函數名,並且需要放入很多變量。只是想確保 – baskInEminence

+0

@baskInEminence他們不必是相同的,不。 – bbum

+0

@baskInEminence你說什麼(「參數必須與一個名稱和一個變量相關聯」)令人困惑,一個參數在變量中被「物化」,並且一個變量有一個名字來引用它。你甚至可以有一個名爲' - addCard :::'的函數(不包括'中間子名') – Merlevede

0

這是客觀的c符號。

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

方法名稱(選擇器) - 「addCard:雅得:」

Parametr 1型 - 「卡*」 的名字 - 「卡」

Parametr 2型 - 「BOOL」 名稱「雅得「

返回值 - 」void「

相關問題