En raison de la sémantique de certaines pièces jointes NSTextView dans mon application, je veux savoir quand elles sont insérées ou supprimées de mon stockage de texte.Comment savoir si un attribut de pièce jointe est ajouté à mon NSTextView?
Ma sous-classe de NSTextView implémente la méthode shouldChangeTextInRange: replacementString: qui me permet de voir facilement quand une pièce jointe est sur le point d'être remplacée (je peux rechercher le stockage de texte dans la plage spécifiée). Parce que la chaîne de remplacement est juste un NSString et pas un NSAttributedString, je n'ai aucun moyen de voir à partir de cette méthode si une pièce jointe est en cours d'insertion. La documentation va même jusqu'à dire que la chaîne peut être nulle si "seuls les attributs" sont édités. Donc, la question est, quel est le meilleur point de dérogation pour voir quand une pièce jointe est en cours d'insertion? Ou peut-être aussi utile: quel est le meilleur point de dérogation pour voir quand les attributs sont modifiés? Mise à jour: J'ai dit plus haut que je n'avais aucun moyen de savoir si une pièce jointe est en train d'être insérée. Il me fait remarquer que je peux dire qu'une "pièce jointe" est impliquée, parce que la chaîne contiendra le NSAttachmentCharacter magique. Mais je n'aurai pas d'informations spécifiques sur la pièce jointe avant la fin de la modification.
Merci, Brian. Ce n'est pas aussi idéal que je l'espérais mais il me semble que ça va faire l'affaire. Dommage qu'ils n'incluent pas les attributs dans la méthode shouldChange ... – danielpunkass
Pour autant que je sache, '-textStorageWillProcessEditing:' autorise plus de modifications au texte que '-textStorageDidProcessEditing:'. Vous voudrez peut-être l'utiliser à la place. –