我的应用子类化UICollectionViewFlowLayout,并使用其所有属性 minimumLineSpacing除外。为了避免混淆,我希望能够从外部“隐藏” minimumLineSpacing,因此看起来我的子类甚至不支持它。这可能吗?

最佳答案

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

@interface MyClass : UICollectionViewFlowLayout
@property (nonatomic) CGFloat minimumLineSpacing __attribute__((unavailable));
@end

08-19 12:26