¿Cómo detectar si un NSAttributedString contiene un NSTextAttachment y eliminarlo?
Recibo como entrada unNSAttributedString
que puede contener una imagen adjunta comoNSTextAttachment
. Necesito verificar si realmente se adjunta dicha imagen y, en tal caso, eliminarla. He estado buscando publicaciones relacionadas sin éxito, ¿cómo podría hacer esto?
EDITAR: Estoy intentando esto:
let mutableAttrStr = NSMutableAttributedString(attributedString: textView.attributedText)
textView.attributedText.enumerateAttribute(NSAttachmentAttributeName, in: NSMakeRange(0, textView.attributedText.length), options: NSAttributedString.EnumerationOptions(rawValue: 0)) { (value, range, stop) in
if (value as? NSTextAttachment) != nil {
mutableAttrStr.replaceCharacters(in: range, with: NSAttributedString(string: ""))
}
}
Si eltextView.attributedText
contiene más de un archivo adjunto (veo varios\u{ef}
en sustring
), Esperaba que la enumeración coincidiera con la condiciónif (value as? NSTextAttachment) != nil
varias veces, pero ese bloque de código solo se ejecuta una vez.
¿Cómo puedo eliminar todos los archivos adjuntos?