diff --git a/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift b/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift index 9dfcede47..7483b7fd6 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift +++ b/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift @@ -429,7 +429,7 @@ public class OWSLinkPreview: MTLModel { // MARK: - Text Parsing // This cache should only be accessed on main thread. - private static var previewUrlCache: NSCache = NSCache() + private static var previewUrlCache: NSCache = NSCache() @objc public class func previewUrl(forRawBodyText body: String?, selectedRange: NSRange) -> String? { @@ -453,7 +453,7 @@ public class OWSLinkPreview: MTLModel { return nil } - if let cachedUrl = previewUrlCache.object(forKey: body as AnyObject) as? String { + if let cachedUrl = previewUrlCache.object(forKey: body as NSString) as String? { Logger.verbose("URL parsing cache hit.") guard cachedUrl.count > 0 else { return nil @@ -463,7 +463,7 @@ public class OWSLinkPreview: MTLModel { let previewUrlMatches = allPreviewUrlMatches(forMessageBodyText: body) guard let urlMatch = previewUrlMatches.first else { // Use empty string to indicate "no preview URL" in the cache. - previewUrlCache.setObject("" as AnyObject, forKey: body as AnyObject) + previewUrlCache.setObject("", forKey: body as NSString) return nil } @@ -479,7 +479,7 @@ public class OWSLinkPreview: MTLModel { Logger.debug("considering URL, since the user is not currently editing it.") } - previewUrlCache.setObject(urlMatch.urlString as AnyObject, forKey: body as AnyObject) + previewUrlCache.setObject(urlMatch.urlString as NSString, forKey: body as NSString) return urlMatch.urlString } @@ -527,12 +527,12 @@ public class OWSLinkPreview: MTLModel { // MARK: - Preview Construction // This cache should only be accessed on serialQueue. - private static var linkPreviewDraftCache: NSCache = NSCache() + private static var linkPreviewDraftCache: NSCache = NSCache() private class func cachedLinkPreview(forPreviewUrl previewUrl: String) -> OWSLinkPreviewDraft? { var result: OWSLinkPreviewDraft? serialQueue.sync { - result = linkPreviewDraftCache.object(forKey: previewUrl as AnyObject) + result = linkPreviewDraftCache.object(forKey: previewUrl as NSString) } return result } @@ -550,7 +550,7 @@ public class OWSLinkPreview: MTLModel { } serialQueue.sync { - previewUrlCache.setObject(linkPreviewDraft, forKey: previewUrl as AnyObject) + linkPreviewDraftCache.setObject(linkPreviewDraft, forKey: previewUrl as NSString) } }