是否可以在子类中隐藏@property?

Spe*_*ams 4 objective-c ios

我的app子类UICollectionViewFlowLayout并使用除了之外的 所有属性minimumLineSpacing.为了避免混淆,我希望能够minimumLineSpacing从外部"隐藏" ,所以看起来我的子类甚至不支持它.这可能吗?

Lil*_*ard 13

是的你可以.的种类.您可以使用它进行标记__attribute__((unavailable)),这将导致编译器在您使用它时抛出错误.但是,如果您的对象被强制转换为其超类类型,则仍然可以访问该属性,因为这只是一个编译时的事情.

@interface MyClass : UICollectionViewFlowLayout
@property (nonatomic) CGFloat minimumLineSpacing __attribute__((unavailable));
@end
Run Code Online (Sandbox Code Playgroud)