1.. title:: clang-tidy - objc-forbidden-subclassing
2
3objc-forbidden-subclassing
4==========================
5
6Finds Objective-C classes which are subclasses of classes which are not designed
7to be subclassed.
8
9By default, includes a list of Objective-C classes which are publicly documented
10as not supporting subclassing.
11
12.. note::
13
14   Instead of using this check, for code under your control, you should add
15   ``__attribute__((objc_subclassing_restricted))`` before your ``@interface``
16   declarations to ensure the compiler prevents others from subclassing your
17   Objective-C classes.
18   See https://clang.llvm.org/docs/AttributeReference.html#objc-subclassing-restricted
19
20Options
21-------
22
23.. option:: ForbiddenSuperClassNames
24
25   Semicolon-separated list of names of Objective-C classes which
26   do not support subclassing.
27
28   Defaults to `ABNewPersonViewController;ABPeoplePickerNavigationController;ABPersonViewController;ABUnknownPersonViewController;NSHashTable;NSMapTable;NSPointerArray;NSPointerFunctions;NSTimer;UIActionSheet;UIAlertView;UIImagePickerController;UITextInputMode;UIWebView`.
29