我创建了一个输出“hello world”的简单命令行工具。这是在main()函数中完成的。Cocoa中的命令行工具
在一个单独的应用程序中,我可以在hello world工具的输出中创建一个NSTask管道,并成功使用它。我需要我的命令行工具来做,但是,每秒输出一些东西(我简化了这一点)。在其他地方我用NSTimer没有问题,但在main()函数中创建一个NSTimer不会让我把'self'设置为目标(我猜是因为它不是一个对象)?
这是什么结构的正确方法?该工具每秒只需输出“hello world”,直到进程停止(由作为NSTask启动它的应用程序)?
我想过 - 这样做会是一个好方法吗?只是循环休眠命令,直到进程终止?也许我刚刚花了太多时间在脑海中,忘记了简单的解决方案。 我该如何使用main之外的另一个函数调用来替换printf语句,以及我将该函数放在哪里?直接在main()之下?不知道语法,或者在哪里看 - 这种感觉更像是C编程,而不是OO,这很好,但从大学以来我就没有做过这些事情! – 2010-01-06 21:56:44
您正在使用Objective-C,因此创建一个对象,将其头文件导入到'main.m'中,并使用'[[YourObject alloc] init]'在main()中实例化它。然后,您可以像在任何可可应用中一样使用它。确保你有一个autorelease池,或者你已经调用了'objc_startCollectorThread()'如果你想要这个工具被垃圾回收。 – 2010-01-07 00:42:15
精彩 - 正在运行 - 谢谢! – 2010-01-07 00:50:46