我创建了一个简单的命令行工具,输出“hello world”。这是在main()函数中完成的。
在一个单独的应用程序中,我可以在hello world工具的输出中创建一个NSTask管道并成功使用它。
然而,我需要我的命令行工具,每秒输出一次(我简化了这一点)。在其他地方我使用NSTimer没有问题,但是在main()函数中创建NSTimer不会让我将'self'设置为目标(我猜因为它不是对象)?
这种结构的正确方法是什么?该工具只需要每秒输出“hello world”,直到进程停止(由将其作为NSTask启动的应用程序)?
答案 0 :(得分:2)
sleep()
功能怎么样?
int main(...) {
while(1) {
printf("Hello world!\n");
sleep(1);
}
return 0;
}
答案 1 :(得分:2)
答案 2 :(得分:0)
我的方法是创建一个类(单独或在main.m文件中)。为此,请写(在#import语句下)
@interface TimerClass:NSObject
/ *类方法,所以“+”符号* / +(void)callFunction;
@end
然后
@implementation TimerClass
。 +(void)timerRespond:(NSTimer *)aTimer {
//调用命令行工具
}
在main函数中,调用NSTimer并使其时间间隔为1,并调用TimerClass类的timerRespond。
这应该可以正常工作(可能有一些错误,因为我没有检查Xcode)。告诉我它是否有效。祝你好运!