瀏覽代碼

fix Any? cast to protocol always nil in ios 13

wangwenyu 2 年之前
父節點
當前提交
738629cdc8
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      Sources/Utility/Runtime.swift

+ 5 - 1
Sources/Utility/Runtime.swift

@@ -27,7 +27,11 @@
 import Foundation
 
 func getAssociatedObject<T>(_ object: Any, _ key: UnsafeRawPointer) -> T? {
-    return objc_getAssociatedObject(object, key) as? T
+    if #available(iOS 14, macOS 11, *) {
+        return objc_getAssociatedObject(object, key) as? T
+    } else {
+        return objc_getAssociatedObject(object, key) as AnyObject as? T
+    }
 }
 
 func setRetainedAssociatedObject<T>(_ object: Any, _ key: UnsafeRawPointer, _ value: T) {