Como subclassificar NSTextAttachment?

Aqui está o meu problema:

Eu uso Core Data para armazenar rich text input de aplicativos iOS e / ou OS X e gostaria que as imagens fossem coladas no NSTextView ou UITextView para: a) reter sua resolução original eb) na exibição para ser dimensionada para se ajustar corretamente ao textView, o que significa dimensionamento com base no tamanho da visualização no dispositivo.

Atualmente estou usando- (void)textStorage:(NSTextStorage *)textStorage didProcessEditing:(NSTextStorageEditActions)editedMask range:(NSRange)editedRange changeInLength:(NSInteger)delta para procurar anexos e, em seguida, gerar uma imagem com um fator de escala e atribuí-la ao atributo textAttachment.image.

Esse tipo de trabalho porque eu apenas mudo o fator de escala e a imagem original fica retida, mas eu acredito que uma solução mais elegante seria usar uma subclasse NSTextAttachmentContainer e retornar um CGREct de tamanho apropriado com

- (CGRect)attachmentBoundsForTextContainer:(NSTextContainer *)textContainer proposedLineFragment:(CGRect)lineFrag glyphPosition:(CGPoint)position characterIndex:(NSUInteger)charIndex

Então, minha pergunta é como criar e inserir essa subclasse?

Eu uso o textStorage: didProcessEditing para iterar sobre cada anexo e substituo seu NSTextAttachmentContainer por uma classe própria, ou posso simplesmente criar uma Categoria e, em seguida, de alguma forma usar essa categoria para alterar o comportamento padrão. O último parece muito menos intrusivo, mas como faço para que meus textViews usem automaticamente esta categoria?

Ops: Apenas notei que o NSTextAttachmentContainer é um protocolo, então eu suponho que criar uma Categoria em NSTextAttachment e sobrepor o método acima é uma opção.

Mmm: não posso usar Category para substituir um método de classe existente, então acho que a subclassificação é a única opção, nesse caso, como faço para que o UITextView use minha subclasse de anexos ou preciso percorrer o attributeString para substituir todos os NSTextAttachments por instâncias de MYTextAttachment. E qual será o impacto de desarquivar essa cadeia no OS X para, digamos, o NSTextAttachment padrão do OS X (que é diferente da classe iOS)?

questionAnswers(2)

yourAnswerToTheQuestion