NSTextStorage
代理人がいtextStorageDidProcessEditing:
ます。残念ながら、にuserInfo
はテキストの変更に関する詳細は含まれていません。
実際に何が変わったのかを知るにはどうすればよいですか?
に送信されるすべてのものを知りたいのが理想的です[NSLayoutManager textStorage:edited:range:changeInLength:invalidatedRange:]
が、編集された範囲だけで十分です。
NSTextStorage
代理人がいtextStorageDidProcessEditing:
ます。残念ながら、にuserInfo
はテキストの変更に関する詳細は含まれていません。
実際に何が変わったのかを知るにはどうすればよいですか?
に送信されるすべてのものを知りたいのが理想的です[NSLayoutManager textStorage:edited:range:changeInLength:invalidatedRange:]
が、編集された範囲だけで十分です。
NSLayoutManager の独自のサブクラスを作成し、 を使用して NSTextSTorage に追加するだけaddLayoutManager:
です。
また、KVO を使用して NSTextStorage オブジェクトの characters プロパティ (またはその他のプロパティ) を観察することもでき、変更された内容を正確に取得できます。
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context