无法识别的选择器发送到实例

时间:2014-07-10 16:18:36

标签: ios objective-c unrecognized-selector

所以我在寻找堆栈溢出,我看到很多这些无法识别的选择器被发送到实例错误消息。一些ARC相关,大多数非ARC相关。我实际上在做的是调用NSTimer每隔6秒调用一个方法来更改照片数组的文件路径。 (如果你愿意的话,这是一个自动横幅。)当6秒过去时,我收到以下错误信息:

2014-07-10 11:04:35.152 ysysy[435:57924] -[TableViewController animateFunction]: unrecognized selector sent to instance 0x156989f0
2014-07-10 11:04:35.154 ysysy[435:57924] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TableViewController animateFunction]: unrecognized selector sent to instance 0x156989f0'

我在viewWllAppearMethod中调用了一个setBannerTimer方法:

[self performSelectorOnMainThread:@selector(setBannerTimer) withObject:nil waitUntilDone:NO];

setBannerTimer然后每6秒触发一个名为animate函数的字符串方法:

- (void) setBannerTimer {


    self->bannerTimer = [NSTimer scheduledTimerWithTimeInterval:6 target:self selector:@selector(animateFunction) userInfo:nil repeats:YES];
    }

Animatie功能:

 +(NSString *)animateFunction

return photoPath;
}

希望我把问题都解决了,让每个人都能轻松理解。我必须用我的方法在语法上做错了吗?我太近了!提前谢谢!

1 个答案:

答案 0 :(得分:2)

它不是关于ARC,scheduledTimerWithTimeInterval:target:selector:userInfo:重复应该有一个实例方法选择器,不是类方法一个;

=>拨打

- (NSString *)animateFunction

而不是

+ (NSString *)animateFunction