代码之家  ›  专栏  ›  技术社区  ›  Ben Packard Ross Knipe

Cocoa中的命令行工具

  •  2
  • Ben Packard Ross Knipe  · 技术社区  · 16 年前

    我创建了一个简单的命令行工具,输出“hello world”。这在main()函数中完成。

    在单独的应用程序中,我可以在hello world工具的输出中创建一个nstask,pipe,并成功地使用它。

    不过,我需要我的命令行工具来做的是每秒输出一些东西(我正在简化这个过程)。在其他地方,我使用了一个nstimer来解决这个问题,但是在main()函数中创建一个nstimer不允许我将“self”设置为目标(我猜是因为它不是一个对象)?

    构造这个的正确方法是什么?该工具只需要每秒输出“hello world”,直到进程停止(由作为nstask启动它的应用程序停止)?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Dave DeLong    16 年前

    那呢? sleep() 功能?

    int main(...) {
      while(1) {
        printf("Hello world!\n");
        sleep(1);
      }
      return 0;
    }
    
        2
  •  2
  •   wprl    16 年前
        3
  •  0
  •   Alexandre Cassagne    16 年前

    我的方法是创建一个类(单独或在m a in.m文件中)。为此,请编写(在import语句下)

    @接口时间类:nsObject

    /*类方法,所以“+”号*/+(void)调用函数;

    @结束

    然后

    @实现时间类

    . +(无效)响应时间:(n时间*)时间 {

    //调用命令行工具

    }

    在主函数中,调用nstimer,使其具有1的时间间隔和类timerclass的call timerresponsed。

    这应该可以正常工作(因为我没有检查Xcode,所以可能会有一些错误)。告诉我它是否有效。祝你好运!