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