在转移到10.12 / Sierra和Xcode 8.1之后,我正在反对一个奇怪的错误:
+[NSTimer scheduledTimerWithTimeInterval:repeats:block:]:
unrecognized selector sent to class 0x7fff78f1fa88
重现这一点的最小代码(创建新项目的默认设置)是:
// AppDelegate.m
//
#import "AppDelegate.h"
@interface AppDelegate ()
@property (weak) IBOutlet NSWindow *window;
@property (strong, nonatomic) NSTimer * timer;
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
self.timer = [NSTimer scheduledTimerWithTimeInterval:10
repeats:YES
block:^(NSTimer * _Nonnull timer)
{
NSLog(@"Ping from %@", timer);
}];
}
链接包括(核心)基础类和'all_load'。必须是完全无足轻重的东西 - 但不能成为现实。
任何和所有帮助表示赞赏。
谢谢,
DW传递。
答案 0 :(得分:31)
+ [NSTimer scheduledTimerWithTimeInterval:重复:block:]是iOS 10.0+方法。您是否可能尝试在iOS 9.x上运行它?