簡體   English   中英

為什么Xcode有時會找到未在頭文件中聲明的實例方法?

[英]Why does xcode sometimes find instance methods not declared in header files?

當然,最佳實踐是在頭文件中聲明所有方法,因此,當xcode警告我可能找不到一個實例方法時,我深感感謝。 但是,在某些情況下,我沒有在標頭中聲明方法,並且沒有得到警告。 這些絕對不是任何委托方法,那么還有哪些其他情況會導致此行為?

該方法可能在使用時已在實現中定義。 即,如果所使用的方法位於實現文件中所使用的位置之上,則編譯器會知道方法簽名,因此一切正常。

如果您的方法未在頭文件(或類擴展名)中聲明,但在引用該方法的另一個方法之前出現,則不會出錯。

如果您方法主體定義調用方法則它會起作用,例如:

-(void)foo { bla }
[self foo];

如果相反,它也會崩潰(如果該方法不在頭文件中):

[self foo];
-(void)foo { bla }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM