我在驅動程序的開發新手,所以我想知道到底是什麼下面一行在Objective-C的意思Objective-C代碼中的[self sendmsg:...]是什麼意思?
[self sendMsg:[NSData msgWithID:kReqConfiguration subID:0 dest:kAddrThisPanelServer] :YES];
我在驅動程序的開發新手,所以我想知道到底是什麼下面一行在Objective-C的意思Objective-C代碼中的[self sendmsg:...]是什麼意思?
[self sendMsg:[NSData msgWithID:kReqConfiguration subID:0 dest:kAddrThisPanelServer] :YES];
這是一個複合語句可以分爲兩個語句
[self sendMsg:[NSData msgWithID:kReqConfiguration subID:0 dest:kAddrThisPanelServer] :YES];
變爲:
NSData *message = [NSData msgWithID:kReqConfiguration subID:0 dest:kAddrThisPanelServer];
[self sendMsg:message :YES];
但沒有與此代碼約定問題。雖然方法名稱不必與參數插入,但最好做到這一點。在這種情況下,沒有最後的之前的方法名稱的一部分「:」,方法選擇(簽名)是:
sendMsg::
倒不如聲明:
- (void)sendMsg:(NSData *)msg option:(BOOL)option;
這將有選擇器(簽字):
sendMsg:option:
,並將所得的呼叫會更理解的,因爲:
NSData *message = [NSData msgWithID:kReqConfiguration subID:0 dest:kAddrThisPanelServer];
[self sendMsg:message option:YES];
這意味着使用參數message
和YES
調用具有相同類實例的選擇器sendMsg:option:
的方法(發送消息)。
[self sendMsg]。它是一種在ios中調用方法的方法。 使用sendMsg指定要調用的方法的名稱,self是調用該方法的實體。
只是爲了澄清:這是一種調用方法
你可以試一下它的意思嗎 – Wain
看一看:[如何在Objective-C中調用方法?](http://stackoverflow.com/questions/591969/how-can- i-call-a-method-in-objective-c) – Amar
基本的句法問題可以從書本或教程中學習,而不是在Stack Overflow上提出。 – 2013-11-14 15:21:45