4 votes

Est-il possible de cacher une @propriété dans une sous-classe ?

Les sous-classes de mon application UICollectionViewFlowLayout et utilise toutes ses propriétés à l'exception de minimumLineSpacing . Pour éviter toute confusion, j'aimerais pouvoir "cacher" minimumLineSpacing de l'extérieur, de sorte qu'il semble que ma sous-classe ne la prenne même pas en charge. Est-ce possible ?

13voto

Kevin Ballard Points 88866

Oui, c'est possible. En quelque sorte. Vous pouvez le marquer avec __attribute__((unavailable)) qui provoquera une erreur du compilateur si vous l'utilisez. Cependant, la propriété sera toujours accessible si votre objet est coulé dans le type de sa superclasse, puisqu'il s'agit d'une chose qui n'intervient qu'au moment de la compilation.

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

1voto

Hermann Klecker Points 8461

Je ne pense pas qu'il soit possible de le cacher. Vous pouvez bien sûr écraser le getter et le setter et empêcher la valeur réelle d'être modifiée, si c'est important. Mais ils existeront toujours et seront visibles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X