Mar*_*ski 2 objective-c textinput
嗨我正在制作一个从键盘输入的程序,我想知道是否有任何方法可以从键盘获取输入并将其存储在NSString对象中.
如果你这样做是一个命令行应用程序,那么我上周写的代码是从命令提示符获取一行(我把它作为一个NSString类别):
+ (NSString *) stringFromStandardInDelimitedByCharactersInSet:(NSCharacterSet *)delimiters {
NSMutableString * string = [NSMutableString string];
unichar input = '\0';
while (input = getchar()) {
if ([delimiters characterIsMember:input]) { break; }
[string appendFormat:@"%C", input];
}
return string;
}
Run Code Online (Sandbox Code Playgroud)
然后我会像这样使用它:
NSString * input = [NSString stringFromStandardInDelimitedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
Run Code Online (Sandbox Code Playgroud)
它不能很好地处理unicode字符(尽管使用unichar),因为getchar()只返回一个常规字符.但是,对于基本的命令行文本输入,它工作得很好.但是,请注意这将阻止执行它的线程(因为getchar()是一个阻塞调用).
| 归档时间: |
|
| 查看次数: |
6110 次 |
| 最近记录: |