c – 与Windows的SetTimer相对应的Cocoa

OS X中的SetTimer在Windows中是否有任何等效功能?我正在使用C.

所以我正在为一些软件编写一个插件,我需要定期调用一个函数.在Windows上,我只是将函数的地址传递给SetTimer(),它将以给定的间隔调用.
在OS X上有一个简单的方法吗?
它应该尽可能简约.我并没有在网上找到任何不花哨的东西,有一个关于一个巨大的框架和另一个使用第二个线程的解决方案,其他时间正在睡觉,但我认为应该有一个更简单的方法.

解决方法:

考虑使用Boost Asio library.类deadline_timer适用于所有平台.只需使用bind将功能附加到async_wait并拨打expires_from_now.

io_service io;
deadline_timer timer(io);

void handler()
{
    static int second_counter = 0;
    cout << second_counter++ << endl;

    timer.expires_from_now(posix_time::seconds(1));    
    timer.async_wait(bind(&handler));
}

int main(int argc, char* argv[])
{
    handler();

    io.run();
}

要花一点时间来了解Asio(特别是因为文档是……不完整的),但这非常值得学习.

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...