在MAC OS中,我通过目标C创建了一个终端应用程序,通过main函数获取启动时的命令行参数。
现在我需要在运行时获得额外的输入。那么如何在运行时获取它们? 是
[[NSRunLoop mainRunLoop] run]
帮助达到这个目的?
答案 0 :(得分:0)
正如FélixSaparelli指出的那样,你不是在谈论在命令行传递给你的程序的参数意义上得到“命令行参数”,例如: thisfile
这样的命令中的cat thisfile
,你说的是你的程序接受命令,或者至少接受来自终端的输入,所以,正如他所说的那样,你需要阅读标准输入。
NSRunLoop
本身不会为你做那件事。您可以将程序视为一个常规的UN * X程序,恰好用Objective-C编写,使用标准C库例程(例如fgets()
)或Foundation类(例如{{1}假设NSString
的{{1}}方法没有做一些无用的操作,例如尝试读入整个文件并将其用作字符串,因为“读取整个文件“在读取标准输入时通常不常用(它不会一次读取一行,它只会继续读取,直到你键入control-D)。