我正在创建NSString类的扩展。我宣布了这个
@implementation NSString (Extensions)
+ (NSString *)extractNumbersFromString {
return [[self componentsSeparatedByCharactersInSet:
[[NSCharacterSet decimalDigitCharacterSet] invertedSet]]
componentsJoinedByString:@""];
}
我有这样的错误:“没有已知的选择器组件的类方法SeparatedByCharactersInSet”
为什么呢?如果这个选择器是NSString的一部分而我正在扩展它,我不明白这个错误...
答案 0 :(得分:1)
componentsSeparatedByCharactersInSet:
是一个实例方法,而不是类方法。您试图在类方法中调用它,因此没有消息应该发送到的实例。
因此,消息被发送到它认为是名为componentsSeparatedByCharactersInSet:
的类方法,该方法不存在 - 因此错误。
要解决此问题,请将扩展程序的签名更改为:
- (NSString *)extractNumbersFromString