如果未设置变量,是否可以在Xcode自动完成中隐藏方法?

时间:2019-06-16 08:40:58

标签: objective-c xcode autocomplete

我正在创建一个可以包含NSStringNSMutableString的类。如果使用基于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 {
    //...
}

1 个答案:

答案 0 :(得分:0)

遵循此参考文献:

Cocoa: Testing to find if an NSString is immutable or mutable?

所有答案都非常具有描述性,您将更加了解为什么要这样做,或者您应该找到其他解决方法。