diff --git a/RegeributedTextView/Classes/RegeributedTextView.swift b/RegeributedTextView/Classes/RegeributedTextView.swift index a1d28c0..24c80b3 100644 --- a/RegeributedTextView/Classes/RegeributedTextView.swift +++ b/RegeributedTextView/Classes/RegeributedTextView.swift @@ -150,7 +150,7 @@ open class RegeributedTextView: UITextView { fileprivate var tapAttributedTextGesture: UITapGestureRecognizer? - private var _delegate: RegeributedTextViewDelegate? + private weak var _delegate: RegeributedTextViewDelegate? private var attributedRanges: [AttributedRange] = [] { didSet { diff --git a/RegeributedTextView/Classes/StringExt.swift b/RegeributedTextView/Classes/StringExt.swift index f464953..fe1ef5d 100644 --- a/RegeributedTextView/Classes/StringExt.swift +++ b/RegeributedTextView/Classes/StringExt.swift @@ -23,7 +23,7 @@ extension String { // Returns matched range list by regular expression. func matched(by regex: String) -> [Range] { let result = try? NSRegularExpression(pattern: regex, options: []) - .matches(in: self, options: [], range: NSRange(location: 0, length: self.count)) + .matches(in: self, options: [], range: NSRange(location: 0, length: self.utf16.count)) .flatMap{ $0.range(at: 0).range(for: self) } return result ?? [] }