簡體   English   中英

如何觀察對NSTextStorage的更改

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM