我想在BaseObject中聲明一個方法,而這個方法只能由SubObject實現,我該怎麼做呢?我發現@protected可以用於方法。是否有@protected方法?
3
A
回答
5
一種方法是創建一個包含私有接口的類的私人頭文件,像這樣:
//MyClass.h
@interface MyClass : NSObject
- (void)publicMethod;
@end
//MyClass_private.h
@interface MyClass()
- (void)protectedMethod;
@end
MyClass.m和它的子類導入規則和_private頭,給_private聲明的同範圍保護。層次結構的客戶只使用常規標題。
4
-1
相關問題
- 1. 是否有「AllIndexesOf」方法?
- 2. jQuery是否有AJAJ方法?
- 3. 是否有CapitalizeFirstLetter方法?
- 4. driver.lockScreen方法是否有效?
- 5. 屬性是否有方法?
- 6. 是否可以動態檢查方法可見性範圍(private/public/protected)?
- 7. 是否有方法檢查所有數組項是否爲'0'?
- 8. SEVERE:javax.el.MethodNotFoundException:未找到方法:[email protected](java.lang.Integer)
- 9. javax.faces.event.AbortProcessingException:找不到方法:[email protected]()
- 10. [email protected]是否爲有效的電子郵件ID?
- 11. 是否可以使用[email protected]創建ionic2項目,而不是現有的[email protected]?
- 12. 「public/protected/private」方法是如何實現的?如何模擬它?
- 13. CGPDFContext是否有其他替代方法?
- 14. Yii CActiveRecord類是否有first()方法?
- 15. JPQL中是否有CONCAT_WS方法?
- 16. js中是否有空格的方法?
- 17. 檢查類是否有靜態方法
- 18. 是否有替代CALayer -renderInContext:方法?
- 19. .NET - Microsoft.Data.Entity中是否有DbSet Find方法?
- 20. Boost/Python是否有make_array方法?
- 21. 是否有任何方法像「popoverPresentationControllerWillDismissPopover」
- 22. Titanium是否有Objective-C的「didReceiveRemoteNotification」方法?
- 23. 此交易方法是否有效?
- 24. 0x88980406 SyncFlush()...是否有解決方法?
- 25. 在rails中是否有has_association?('association_name')方法
- 26. 玉模板中是否有substr方法?
- 27. 在nightmarejs中是否有foreach方法?
- 28. 是否所有的renderscript方法API 11?
- 29. 是否有一個KeyUp:方法flagsChanged:?
- 30. App Engine中是否有「children」方法?
一種方法是在第二個頭文件('TheClass_SubclassInterface.h')中聲明「protected」方法並放入一個類擴展(即'@interface TheClass()... @ end')第二個頭部放入類的實現文件('TheClass.m')中,並放入任何需要使用「protected」方法的子類實現文件(TheSubclass.m',其中'TheSubclass:TheClass')。 –
查看「UIGestureRecognizer」的文檔。有一個標記爲「子類化筆記」的部分。這是Nate所指的一個例子。 – rmaddy