Как определить, содержит ли NSAttributedString NSTextAttachment, и удалить его?
Я получаю в качестве входаNSAttributedString
который может содержать изображение в видеNSTextAttachment
, Мне нужно проверить, действительно ли такое изображение прикреплено и, в таком случае, удалить его. Я искал похожие посты безуспешно, как я мог это сделать?
РЕДАКТИРОВАТЬ: Я пытаюсь это:
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: ""))
}
}
ЕслиtextView.attributedText
содержит более одного вложения (я вижу несколько\u{ef}
в егоstring
) Я ожидал, что перечисление будет соответствовать условиюif (value as? NSTextAttachment) != nil
несколько раз, но этот блок кода выполняется только один раз.
Как я могу удалить все вложения?