2011-11-13 48 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改变。