UITextInput 的 Tokenizer,它是做啥用的?

     2023-03-10     124

关键词:

【中文标题】UITextInput 的 Tokenizer,它是做啥用的?【英文标题】:Tokenizer of UITextInput, what is it used for?UITextInput 的 Tokenizer,它是做什么用的? 【发布时间】:2013-05-02 10:17:12 【问题描述】:

我正在实现一个自定义文本输入视图,它采用UITextInput 协议,当使用UITextView 时,双击一个单词使单词被选中,我想知道UITextInput 如何使用它的标记器来标记字符串,通过现在,无论是否通过覆盖 [UITextInput -tokenizer] 方法为 UITextInput 分配标记器,我都没有看到任何区别。

【问题讨论】:

【参考方案1】:

它用于键盘导航(当您连接了硬件键盘时)。例如,按住 Option 并使用箭头键在单词之间导航,转到行首/行尾。

来自 Apple 的 iOS 文本编程指南:

标记器是确定文本位置是否为 在具有给定粒度的文本单元内或边界处。 当被文本输入系统查询时,分词器返回范围 具有给定粒度或边界文本位置的文本单元 具有给定粒度的文本单元。当前定义的粒度 是字符、单词、句子、段落、行和文档;枚举 UITextGranularity 类型的常量表示这些粒度。 文本单元的粒度总是参考 存储或布局方向。

文本输入系统以多种方式使用分词器。为了 例如,键盘可能需要最后一句话的价值 上下文来确定用户正在尝试键入的内容。或者,如果用户 按下 Option-左箭头键(在外部键盘上), 文本系统查询标记器以查找它需要的信息 移到上一个单词。

更多:https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/LowerLevelText-HandlingTechnologies/LowerLevelText-HandlingTechnologies.html

【讨论】:

我们如何实现 selectionRectsForRange: 从 UITextInput 协议?

】我们如何实现selectionRectsForRange:从UITextInput协议?【英文标题】:HowdoweimplementselectionRectsForRange:fromUITextInputProtocol?【发布时间】:2013-01-0414:51:36【问题描述】:我们如何实现selectionRectsForRange:fromUITextInputProtocol?有人想出这个吗... 查看详情

自定义 UITextInput 实现不显示多阶段输入建议

】自定义UITextInput实现不显示多阶段输入建议【英文标题】:CustomUITextInputimplementationnotshowingmulti-stageinputsuggestions【发布时间】:2013-11-2716:25:47【问题描述】:我有一个基于UITextInput的自定义文本编辑器。它工作得很好,除了通过... 查看详情

UITextInput:如何为实现 UITextInput 协议的自定义 UIView 显示插入符号?

】UITextInput:如何为实现UITextInput协议的自定义UIView显示插入符号?【英文标题】:UITextInput:HowDoIShowtheCaretforaCustomUIViewThatImplementstheUITextInputProtocol?【发布时间】:2014-07-0613:38:33【问题描述】:我注意到在Apple的UITextInput协议中有... 查看详情

UITextInput:重置多阶段输入建议

】UITextInput:重置多阶段输入建议【英文标题】:UITextInput:resetmultistageinputsuggestions【发布时间】:2015-05-2213:38:22【问题描述】:在我的应用程序中,我实现了UITextInput来为我的自定义UITextField处理多阶段文本输入。我想知道是否... 查看详情

UITextInput:selectedTextRange 与markedTextRange?

】UITextInput:selectedTextRange与markedTextRange?【英文标题】:UITextInput:selectedTextRangevs.markedTextRange?【发布时间】:2014-07-0813:07:52【问题描述】:好的,所以我知道Apple的UITextInput协议需要两个UITextRange属性selectedTextRange和markedTextRange并... 查看详情

如何使用 boost::tokenizer 作为 C++ 类成员?

】如何使用boost::tokenizer作为C++类成员?【英文标题】:Howtouseboost::tokenizerasaC++classmember?【发布时间】:2018-03-2319:44:37【问题描述】:我正在用boost::tokenizer替换RWCTokenizer,但我无法编译它,因为代码是当前设计的。这就是它现在... 查看详情

何时调用 -[UITextInput selectionRectsForRange:]?

】何时调用-[UITextInputselectionRectsForRange:]?【英文标题】:Whenis-[UITextInputselectionRectsForRange:]called?【发布时间】:2012-09-2520:09:00【问题描述】:我有一个带有实现UITextInput协议的自定义文本编辑器的应用程序。在iOS6中,Apple向协议... 查看详情

如何对 NSUndoManager+UITextInput 的击键进行分组

】如何对NSUndoManager+UITextInput的击键进行分组【英文标题】:HowtogroupkeystrokesforNSUndoManager+UITextInput【发布时间】:2012-12-1914:21:19【问题描述】:我有一个实现UITextInput的视图,并添加了对撤消的支持。现在,每个单独的击键或退格... 查看详情

Boost Tokenizer:额外空间?

】BoostTokenizer:额外空间?【英文标题】:BoostTokenizer:ExtraSpace?【发布时间】:2015-12-1304:34:32【问题描述】:我正在使用BoostTokenizer来删除格式化的坐标,例如(x,y)。但是,它会在删除之后添加一个额外的空间。没有空格,但我不... 查看详情

尝试使用 huggingface 预训练的 Tokenizer (roberta-base) 时出现错误消息

】尝试使用huggingface预训练的Tokenizer(roberta-base)时出现错误消息【英文标题】:ErrormessagewhentryingtousehuggingfacepretrainedTokenizer(roberta-base)【发布时间】:2022-01-0519:03:10【问题描述】:我对此很陌生,所以我可能完全遗漏了一些东西,... 查看详情

UITextInput Traits 在 ios 7 中不起作用

】UITextInputTraits在ios7中不起作用【英文标题】:UITextInputTraitsisnotworkinginios7【发布时间】:2013-11-1907:20:28【问题描述】:我是ios新手。我有以下代码来更改要加入的键盘的返回键类型。它在ios6中可以正常工作,但在ios7中无法正... 查看详情

len(tokenizer) 和 tokenizer.vocab_size 有啥区别

】len(tokenizer)和tokenizer.vocab_size有啥区别【英文标题】:whatisthedifferencebetweenlen(tokenizer)andtokenizer.vocab_sizelen(tokenizer)和tokenizer.vocab_size有什么区别【发布时间】:2021-07-2811:05:25【问题描述】:我正在尝试在预训练的HuggingFaceTransformer... 查看详情

bug-‘tokenizer’objecthasnoattribute‘oov_token’(代码片段)

...ntexts_to_sequences_generatorelifself.oov_tokenisnotNone:AttributeError:‘Tokenizer’objecthasnoattribute‘oov_token’报错的代码行为train_sequences=tokenizer.texts_to_sequences(new_training_list)从texts_to_sequences()点进去keras的源码,发现它调用texts_to_sequences_generator()... 查看详情

boost tokenizer 的随机行为

】boosttokenizer的随机行为【英文标题】:Randombehaviorofboosttokenizer【发布时间】:2012-06-1023:26:32【问题描述】:我的boosttokenizer有问题,这是我的代码:#include<iostream>#include<vector>#include<boost/tokenizer.hpp>usingnamespacestd;stati 查看详情

如何将 SOS 令牌添加到 Keras 标记器?

...牌添加到Keras标记器?【英文标题】:howtoaddSOStokentoKerastokenizer?【发布时间】:2022-01-1715:32:47【问题描述】:我有一个Keras标记器,我想在我的序列中添加一个句子开头标记,但我找不到任何关于它的信息来说明我该怎么做?token... 查看详情

tokenizer令牌解析器作用(转载)

怎么理解token,tokenize,tokenizer?(https://zhidao.baidu.com/question/265411985659520925.html)这只是当个人笔记使用编写词法分析器(Lexer)或语法分析器(Parser)的时候,除了Lexer和Parser这两个词会经常使用外,tokenize和tokenizer也会经常出现,基本... 查看详情

boost::tokenizer 考虑分隔符之间没有标记

】boost::tokenizer考虑分隔符之间没有标记【英文标题】:boost::tokenizertoconsiderabsenceoftokensbetweenseparators【发布时间】:2015-10-2912:24:30【问题描述】:我正在使用boost::tokenizer来获取\';\'从string中分离字段。我可以检索如下代码所示的... 查看详情

tokenizer.texts_to_sequences Keras Tokenizer 几乎全为零

】tokenizer.texts_to_sequencesKerasTokenizer几乎全为零【英文标题】:tokenizer.texts_to_sequencesKerasTokenizergivesalmostallzeros【发布时间】:2019-01-1221:41:53【问题描述】:我正在创建文本分类代码,但在使用标记器编码文档时遇到问题。1)我首先... 查看详情