我的应用子类UICollectionViewFlowLayout
并使用除 minimumLineSpacing
之外的所有属性。为了避免混淆,我希望能够从外部“隐藏”minimumLineSpacing
,所以看起来我的子类甚至不支持它。这可能吗?
答案 0 :(得分:13)
是的,你可以。的种类。您可以使用__attribute__((unavailable))
标记它,如果您使用它将导致编译器抛出错误。但是,如果您的对象被强制转换为其超类类型,则仍然可以访问该属性,因为这只是一个编译时的事情。
@interface MyClass : UICollectionViewFlowLayout
@property (nonatomic) CGFloat minimumLineSpacing __attribute__((unavailable));
@end
答案 1 :(得分:1)
我认为你实际上不能隐藏它。如果这很重要的话,你当然可以覆盖吸气剂和设定器,并防止实际值发生变化。但它们将永远存在并且可见。