0
A
回答
1
類別和@private是兩回事。類別擴展了您可以將方法添加到類中的類,並且@private是其他類無法直接訪問您的屬性的位置,並且必須使用您的訪問器。如果您希望子類無法訪問的ivars,請在您的界面中使用@private。
@interface MyClass : NSObject
{
@private
int num; //private attribute where subclass can't access
}
1
首先是閱讀理解@private
修改What does "@private" mean in Objective-C?
再回答你的問題。
一個匿名類別被稱爲class extension
,這是我用來保持我的API清潔,並且不公開宣佈我的ivars。
e.g
// .h
@interface MyClass : NSObject
@end
// .m
@interface MyClass()
@property (nonatomic, strong) NSDate *someDateImWorkingWith;
@end
@implementation MyClass
@synthesize someDateImWorkingWith = _someDateImWorkingWith;
@end
因此,我有NSDate *someDateImWorkingWith
到我的類中使用,但沒有一個導入我的頭,甚至會知道它的存在沒有做挖一點點。這對我來說效果很好,你的milage可能會有所不同。
相關問題
- 1. 什麼是類,枚舉,接口,屬性?
- 2. 你可以有一個私人屬性,哪種類型是一個接口?
- 3. 爲什麼AutoMapper在屬性是接口類型時嘗試映射null屬性?
- 4. Java中的公共和私人接口有什麼區別
- 5. Moq-ing一個類或接口有什麼區別?
- 6. 爲什麼類可以在C#中實現自己的私有嵌套接口?
- 7. 爲什麼接口或抽象類有用? (或爲什麼?)
- 8. 爲什麼私有靜態屬性爲
- 9. 接口成員爲什麼不能使用私有類類型?
- 10. 爲什麼基類私有屬性被派生類訪問?
- 11. 異步私有和私有異步的區別是什麼?
- 12. 屬性,接口或抽象類
- 13. 爲什麼我可以從其類中更改私人屬性?
- 14. 爲什麼我可以用Java中的getter設置私有類屬性的值?
- 15. 爲什麼當所有屬性都是可選的時候,接口的類型可能不被遵守?
- 16. 可以在grails模板中識別域類的屬性的原因是什麼?
- 17. Objective-c中的類和類接口有什麼區別?
- 18. 爲什麼我不能從私有類/接口繼承?
- 19. 爲什麼可以從屬性訪問私有常量字段?
- 20. 屬性設置爲私人或無私人關鍵字。有什麼不同?
- 21. 有沒有辦法「提取」TypeScript接口屬性的類型?
- 22. 爲什麼你可以改變私有屬性(它是對象)的值?
- 23. 公有類的私有屬性是否安全在DLL中
- 24. 函數屬性的接口與「f()」和「f:()=>」有什麼區別?
- 25. add'text'屬性或直接在標籤中使用有什麼區別?
- 26. 指定抽象或不接口方法的區別是什麼?
- 27. 在類擴展或@implementation塊中添加僞私有ivars有什麼區別?
- 28. 爲什麼PHP私有類var不是私有的?
- 29. 在Typescript中,類型和接口有什麼區別?
- 30. TypeScript在接口和類中處理多餘屬性的區別