我有一個NSTextStorage
授權textStorageDidProcessEditing:
。不幸的是,userInfo
沒有包含任何關於文本更改的細節。如何觀察對NSTextStorage的更改
我如何知道實際上發生了什麼變化?
理想情況下,我想知道發送到[NSLayoutManager textStorage:edited:range:changeInLength:invalidatedRange:]
的所有內容,但編輯後的範圍會足夠好。
我有一個NSTextStorage
授權textStorageDidProcessEditing:
。不幸的是,userInfo
沒有包含任何關於文本更改的細節。如何觀察對NSTextStorage的更改
我如何知道實際上發生了什麼變化?
理想情況下,我想知道發送到[NSLayoutManager textStorage:edited:range:changeInLength:invalidatedRange:]
的所有內容,但編輯後的範圍會足夠好。
您可以使用addLayoutManager:
編寫自己的NSLayoutManager子類並將其添加到NSTextSTorage中。
你也可以使用國際志願者組織觀察您NSTextStorage對象的人物屬性(或者任何其他屬性),你會得到什麼是
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
使用NSTextStorage的getter方法editedRange和changeInLength改變。