objective-c - 如何在 Objective-C 中读取键盘输入

标签 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;
}

然后我会像这样使用它:

NSString * input = [NSString stringFromStandardInDelimitedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

它不能很好地处理 unicode 字符(尽管使用了 unichar),因为 getchar() 只返回一个常规字符。但是,对于基本的命令行文本输入,它工作得很好。但是,请注意,这会阻塞执行它的线程(因为 getchar() 是阻塞调用)。

关于objective-c - 如何在 Objective-C 中读取键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1817071/

相关文章:

ios - React Native多行垂直居中文本在IOS上的问题

ios - UITableView 滚动水平问题

ios - 在 UITableView 上覆盖 UIView 并将其粘贴在滚动条的导航栏下方

html - 在 jQuery Mobile 中保留文本输入值

Kivy:如何制作不可编辑的文本输入?

c++ - 如何在win32 windows中创建一个嵌入式文本输入框

javascript - React Native TextInput 不允许输入/文本更改

ios - 如何在 iOS 上的 Firebase 中获取 FCMToken?

ios - 定义全局颜色

ios - Objective-C iOS 中的谷歌地图集成问题(_ OBJC _ CLASS _ $ _ GMSPlacesClient,引用自 :)