方法可能无法回应

Max*_*me 1 iphone objective-c

在一个类(名为TimeDetails)中,我需要调用一个方法(类方法),但在编译期间我收到此消息:TimesDetails可能不响应'generateTimeOfPassage',(一个方法调用另一个方法并发送一个NSString对象.这种情况返回nil).

在.h文件中我声明了这样的方法:

+(NSString *)generateTimeOfPassage:(NSString *)_timeString;
Run Code Online (Sandbox Code Playgroud)

在.m文件中:

-(void)initWithTimeData:(NSString *)_timeString{
    [super init];
    passage=[self generateTimeOfPassage:_timeString]; ---I have the message here...
}
+(NSString *)generateTimeOfPassage:(NSString *)_timeString{

    return nil;
} 
Run Code Online (Sandbox Code Playgroud)

谢谢 !

马克西姆

Vla*_*mir 6

+ generateTimeOfPassage是一个类方法,因此应该使用类名而不是对象来调用它:

passage=[TimeDetails generateTimeOfPassage:_timeString];
Run Code Online (Sandbox Code Playgroud)

  • 或者[[self class] generateTimeOfPassage:_timeString]如果允许子类覆盖该方法. (2认同)