Я создаю класс, который может содержать NSString
или NSMutableString
. Если класс создается с помощью конструктора на основе NSString
, я устанавливаю isMutable
на NO
и хочу скрыть методы, связанные с NSMutableString
. Есть ли способ пометить методы, используя директивы компилятора или что-то вроде #unavailable if (!isMutable)
, чтобы Xcode не показывал это? Я не могу создать подкласс это на всякий случай. Как это сделать?
- (instancetype)initWithString:(NSString *)string {
// ...
}
- (instancetype)initWithMutableString:(NSMutableString *)string {
// ..
_isMutable = YES;
}
#unavailable (!isMutable) // Check _isMutable ?
(void)appendString:(NSString *)string {
//...
}