是的所有,另一個新手問題!這個方法背後的代碼在哪裏
我正在做一些我繼承的應用程序的維護工作,我試圖找到這種方法背後的代碼。在我的task.h文件中,我有一個可選方法doTask,在協議TaskDelegate中聲明。在我的task.m文件中,我找到了doTask的方法定義,但它引用了它的方法名,所以我假設我會在另一個對象中找到另一個「更完整」的方法定義。錯誤!我顯然在這裏錯過了非常基本的東西。我一直沒有能夠在我的代碼中找到其他任何引用來執行任務。
這裏是我的頭文件中的初始宣佈,task.h
@protocol TaskDelegate<NSObject>
@optional
- (void) doTask;
下面是我的實現文件的方法定義,task.m
- (void) doTask
{
if ((self.delegate != nil) && ([self.delegate respondsToSelector:@selector(doTask)]))
{
[self.delegate doTask];
}
}
我認爲我的方法定義首先確定如果我有一個對象委託已經存在,然後看它是否有一個在其中定義的doTask方法;如果是這樣,那麼它會告訴它在該委託上執行doTask方法。我對麼?
那麼,如果是這樣,我的問題就變成了doTask背後的代碼究竟在做些什麼呢?我真的很想在這裏錯過一些基本的東西。所有幫助表示讚賞!在此先感謝您的幫助......