目標C中的方法語法有人可以為我解釋這個方法聲明語法嗎?在此函數(shù)中,返回UIPickerView的行數(shù)。根據(jù)我的理解,Method被稱為'?pickerView',并返回一個NSInteger。它傳入一個指向UIPickerview的指針,稱為'?pickerView'...首先,為什么該方法與參數(shù)名稱相同?接下來有一個名為component的NSInteger參數(shù),它告訴我們計算行的哪個組件。決定哪個是在方法體內(nèi)的邏輯。什么是'?numberOfRowsInComponent?它似乎描述了我們返回的值,但它位于參數(shù)的中間。-?(NSInteger)?pickerView:(UIPickerView?*)pickerView?
?numberOfRowsInComponent:(NSInteger)component{
????if?(component?==?kStateComponent)
????????return?[self.states?count];
????return[self.zips?count];}
3 回答

胡說叔叔
TA貢獻1804條經(jīng)驗 獲得超8個贊
在Objective-C中,方法的名稱由聲明中不是參數(shù)和類型的所有部分組成。因此,此方法的名稱為:
pickerView:numberOfRowsInComponent:
該方法等同于C風格的函數(shù),如下所示:
編輯:(感謝Jarret Hardie):
NSInteger pickerViewNumberOfRowsInComponent(UIPickerView * pickerView, NSInteger component)

慕田峪9158850
TA貢獻1794條經(jīng)驗 獲得超8個贊
添加到之前的答案,我只想說Objective-C方法(或者如果您愿意的話,還有消息)具有外部和內(nèi)部參數(shù)名稱。
所以在這種情況下:
- (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
numberOfRowsInComponent
是外部名稱,從外部調(diào)用此方法時將使用的名稱。
并且component
是參數(shù)的內(nèi)部名稱,用于從方法內(nèi)部引用參數(shù)。
希望能稍微清理一下。
- 3 回答
- 0 關(guān)注
- 364 瀏覽
添加回答
舉報
0/150
提交
取消