[英]How to observe changes to an NSTextStorage
我有一個實現textStorageDidProcessEditing:
的NSTextStorage
委托。 不幸的是, userInfo
沒有包含有關文本更改的任何詳細信息。
我如何找出實際發生了什么變化?
理想情況下,我想知道發送到[NSLayoutManager textStorage:edited:range:changeInLength:invalidatedRange:]
,但是僅編輯范圍就足夠了。
您可以編寫自己的NSLayoutManager子類,然后使用addLayoutManager:
將其添加到NSTextSTorage中。
您還可以使用KVO觀察NSTextStorage對象的characters屬性(或它的任何其他屬性),然后確切地了解其中的更改
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
使用NSTextStorage的getter方法editedRange和changeInLength。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.