實現的接口就像函數聲明(在頭文件中)到函數定義一樣? 如果我沒有在接口中列出所有已經實現的方法,該怎麼辦?什麼是實例變量呢?Objective-c接口和實現
回答
是的接口和實現可以被認爲類似於頭和定義。
如果您沒有列出一些已實施的方法,您將無法從其他類中使用它們。此外,如果他們沒有在@interface
部分定義,編譯器會如果您嘗試使用已在呼叫
@implementation
- (void) functionA
{
[self functionB]; // error, because 'so far' functionB has not been defined
}
- (void) functionB
{
}
編輯之後已經實現的功能抱怨:參見下面馬丁的評論。 END EDIT
如果您沒有定義實例變量,並且您使用它們,則會出現錯誤。您使用的任何變量必須在本地或在類中定義。
回答您的問題: 接口到實現就像函數聲明(在頭文件中)到函數定義?
是
如果我沒有在接口列表中的所有方法,這些方法已經實現了?什麼是實例變量呢?
這些方法將被視爲可在該特定類中訪問的私有方法和變量。
在您的接口中聲明的變量(如1.中的變量)在實例化MyClass的對象的其他類中可見。 2.中聲明的變量只能在MyClass中可見。下面是你應該閱讀:我想這些都將幫助你在更深入的瞭解這些事情http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/
http://iosmadesimple.blogspot.in/2012/11/interface-and-implementation.html
。
無法在Objective-C中聲明私有方法。這些方法可以通過'[object performSelector:@selector(methodName :)];'從任何知道對象的類中訪問。 –
- 1. 實現和接口
- 2. 顯式接口實現和多接口
- 3. 實現接口和繼承
- 4. 擴展和實現接口
- 5. 困惑接口和實現
- 6. 接口實現和LinkedList
- 7. Spring Boot - 接口和實現
- 8. vb.net和接口實現
- 9. Java接口和實現
- 10. 分離接口和實現
- 11. 實現接口
- 12. 實現接口
- 13. 實現接口
- 14. 實現接口
- 15. 接口實現
- 16. 如何在ObjectiveC中將非靜態變量從接口移動到實現?
- 17. C#接口實現
- 18. 接口實現C#
- 19. 實現AIDL接口
- 20. 實現Iterable接口
- 21. TypeScript接口實現
- 22. GetEnumerator接口實現
- 23. 實現IDataErrorInfo接口
- 24. Java實現接口
- 25. F#接口實現
- 26. Java接口實現
- 27. 實現IEnumberable接口
- 28. XmlResourceParser:inferface實現接口?
- 29. 實現接口C#
- 30. 實現IConvertible接口
你是什麼意思由本地定義的實例變量? –
當前編譯器版本不*要求實現文件中的方法的前向聲明。 –
@ Naughty.Coder不,我的意思是一個變量必須在本地定義到函數或執行塊(意思是它不是一個實例變量),或者是類中的一個實例變量。 – Merlevede