Z powodu semantyki niektórych załączników NSTextView w mojej aplikacji, chcę wiedzieć, kiedy są one wstawiane lub usuwane z mojego magazynu tekstowego.Skąd wiadomo, kiedy atrybut dodawania jest dodawany do mojego NSTextView?
Moja podklasa NSTextView implementuje metodę shouldChangeTextInRange: replacingString:, która pozwala mi łatwo zobaczyć, kiedy załącznik ma zostać zastąpiony (mogę przeszukać magazyn tekstowy w określonym zakresie).
Ponieważ zastępczy ciąg znaków jest po prostu NSString, a nie NSAttributedString, nie mogę zobaczyć z tej metody, czy załącznik jest wstawiany. Dokumentacja posuwa się nawet do stwierdzenia, że ciąg może być zerowy, jeśli edytowane są tylko "atrybuty".
Pytanie brzmi: jaki jest najlepszy punkt zastępczy, aby zobaczyć, kiedy załączany jest załącznik? A może jako użyteczny: jaki jest najlepszy punkt zastąpienia, aby zobaczyć, kiedy atrybuty są modyfikowane?
Aktualizacja: Powiedziałem powyżej, nie miałem możliwości dowiedzieć się, czy załącznik jest wstawiany. Wskazano mi, że mogę powiedzieć, że załączenie "an" jest zaangażowane, ponieważ ciąg zawiera magiczną właściwość NSAttachmentCharacter. Ale nie będę mieć konkretnych informacji o załączniku, dopóki edycja nie zostanie zakończona.
Dzięki, Brian. To nie jest tak idealne, jak się spodziewałem, ale wygląda na to, że to wystarczy. Szkoda, że nie zawierają atrybutów w metodzie shouldChange .... – danielpunkass
O ile mi wiadomo, '-textStorageWillProcessEditing:' pozwala na więcej zmian w tekście niż '-textStorageDidProcessEditing:'. Zamiast tego możesz użyć tego. –