2011-11-13 50 views
1

我有一個NSTextStorage授權textStorageDidProcessEditing:。不幸的是,userInfo沒有包含任何關於文本更改的細節。如何觀察對NSTextStorage的更改

我如何知道實際上發生了什麼變化?

理想情況下,我想知道發送到[NSLayoutManager textStorage:edited:range:changeInLength:invalidatedRange:]的所有內容,但編輯後的範圍會足夠好。

回答

1

您可以使用addLayoutManager:編寫自己的NSLayoutManager子類並將其添加到NSTextSTorage中。

0

你也可以使用國際志願者組織觀察您NSTextStorage對象的人物屬性(或者任何其他屬性),你會得到什麼是

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 
0

使用NSTextStorage的getter方法editedRange和changeInLength改變。