Vì ngữ nghĩa của một số tệp đính kèm NSTextView nhất định trong ứng dụng của tôi, tôi muốn biết khi nào chúng được chèn hoặc xóa khỏi lưu trữ văn bản của tôi.Làm cách nào để biết khi nào thuộc tính tệp đính kèm đang được thêm vào NSTextView của tôi?
Lớp con của NSTextView triển khai phương thức shouldChangeTextInRange: replacementString:, cho phép tôi dễ dàng xem khi nào một tệp đính kèm sắp được thay thế (tôi có thể tìm kiếm lưu trữ văn bản ở phạm vi được chỉ định).
Vì chuỗi thay thế chỉ là một NSString chứ không phải là NSAttributedString, tôi không có cách nào nhìn thấy từ phương thức này cho dù tệp đính kèm có được chèn hay không. Các tài liệu thậm chí còn đi xa như vậy để nói rằng chuỗi có thể là nil nếu "chỉ thuộc tính" đang được chỉnh sửa.
Vì vậy, câu hỏi là, điểm ghi đè tốt nhất để xem khi nào một tệp đính kèm được chèn vào? Hoặc có lẽ hữu ích: điểm ghi đè tốt nhất để xem khi thuộc tính đang được sửa đổi là gì?
Cập nhật: Tôi đã nói ở trên Tôi không có cách nào để biết liệu tệp đính kèm có được chèn hay không. Nó chỉ ra với tôi rằng tôi có thể nói rằng "một" tập tin đính kèm là có liên quan, bởi vì chuỗi sẽ chứa ma thuật NSAttachmentCharacter. Nhưng tôi sẽ không có thông tin cụ thể về tệp đính kèm cho đến khi chỉnh sửa hoàn tất.
Cảm ơn, Brian. Nó không phải là lý tưởng như tôi hy vọng nhưng nó có vẻ như nó sẽ làm các trick. Thật đáng tiếc là họ không bao gồm các thuộc tính trong phương thức shouldChange…. – danielpunkass
Theo như tôi có thể nói, '-textStorageWillProcessEditing:' cho phép thay đổi nhiều hơn đối với văn bản hơn '-textStorageDidProcessEditing:'. Thay vào đó, bạn có thể muốn sử dụng nó. –