ios - 使用 NSTimer 调用 performSelectorOnMainThread

标签 ios objective-c iphone nstimer performselector

我可以在下面的行中调用 pushIncompleteDataToServer

[sharedDataController performSelectorOnMainThread:@selector(pushIncompleteDataToServer) 
                                       withObject:sharedDataController 
                                    waitUntilDone:NO].

现在我想用 NSTimer 以 5.0 秒的间隔调用它

[NSTimer scheduledTimerWithTimeInterval:5.0 
                                 target:sharedDataController 
                               selector:@selector(**pushIncompleteDataToServer**) 
                               userInfo:[ self userInfo] 
                                repeats:YES];

我想调用 performSelectorOnMainThread(第一条语句中的内容),而不是 pushIncompleteDataToServer。如何做到这一点?

最佳答案

这样做

[NSTimer scheduledTimerWithTimeInterval:5.0 
                                 target:sharedDataController 
                               selector:@selector(pushData) 
                               userInfo:[ self userInfo] 
                                repeats:YES];


-(void)pushData {
    [sharedDataController performSelectorOnMainThread:@selector(pushIncompleteDataToServer) 
                                           withObject:sharedDataController 
                                        waitUntilDone:NO].

}

关于ios - 使用 NSTimer 调用 performSelectorOnMainThread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22526459/

相关文章:

iphone - UILabel文本偏移/缩进

iphone - 将音频文件保存到iPhone的文档文件夹中,然后再上传到服务器时将其删除?

ios - 具有动态变量的自动布局约束?

ios - Swift:如何在 map View 上启用和禁用注释?

iphone - NSDateFormatter 返回空日期

iphone - 有谁知道 UIDataDetectorTypeCalendarEvent 在 UITextView 中如何工作?

objective-c - 如何将关键事件发送到 WebKit 中的 Flash 影片?

ios - 基于区域设置的设备日期格式

objective-c - 没有可见的@interface 用于声明选择器错误

iphone - 调整 UIView 的大小 - 扩展顶部