Swift:扩展中存储的属性无法识别的选择器异常

rypto36

我有一个NSURLSessionDownloadTask扩展,在此扩展的内部,我使用Objective C Associated Objects创建了一个名为“ id”的存储属性。当我尝试设置属性时,出现“无法识别的选择器发送到实例”的信息。这是我的代码如下:

extension NSURLSessionDownloadTask {

  private struct AssociatedKeys {
    static var id: String?
  }

  var id: String? {
    get {
      return objc_getAssociatedObject(self, &AssociatedKeys.id) as? String
    }
    set {
      if let newValue = newValue {
        objc_setAssociatedObject(self, &AssociatedKeys.id, newValue as String?, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
      }
    }
  }
}

稍后的;

let task = session.downloadTaskWithURL(url)
task.id = identifier
马丁·R

我无法完全解释它,但问题似乎是session.downloadTaskWithURL(url)返回某个内部子类的实例__NSCFLocalDownloadTask

如果您将扩展名定义为的扩展名,NSURLSessionTask而不是NSURLSessionDownloadTask

extension NSURLSessionTask { ... }

然后它在我的测试中起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Cocoapods框架中的Swift扩展导致无法识别的选择器发送给Class

来自分类Dev

XCSourceEditorCommandInvocation快速扩展导致“无法识别的选择器发送到实例”异常

来自分类Dev

Swift:使用协议扩展会导致“无法识别的选择器发送到实例”

来自分类Dev

文本字段扩展错误-无法识别的选择器发送到实例swift

来自分类Dev

Swift:使用协议扩展会导致“无法识别的选择器发送到实例”

来自分类Dev

无法识别的选择器发送到iOS7中的实例异常

来自分类Dev

无法识别的选择器NotificationCenter Swift 3

来自分类Dev

Objective-C属性获取器抛出异常“无法识别的选择器已发送至实例”

来自分类Dev

协议中无法识别的选择器

来自分类Dev

iOS无法识别的选择器已发送到Swift中的实例

来自分类Dev

NSNotification无法识别的选择器已发送到Swift中的实例

来自分类Dev

Swift应用中的条带化iOS库导致无法识别的选择器错误

来自分类Dev

NSNotification无法识别的选择器已发送到Swift中的实例

来自分类Dev

IOS:无法识别的选择器发送到目标 C 中的实例 Swift 类

来自分类Dev

setNeedsStatusBarAppearanceUpdate无法识别的选择器

来自分类Dev

无法识别的选择器mutableCopyWithZone

来自分类Dev

setNeedsStatusBarAppearanceUpdate无法识别的选择器

来自分类Dev

SortedArrayUsingSelector无法识别的选择器

来自分类Dev

无法识别的选择器mutableCopyWithZone

来自分类Dev

SIGABRT /无法识别的选择器

来自分类Dev

Swift选择器-无法识别的选择器已发送到实例

来自分类Dev

如何识别无法识别的选择器和无法识别的选择器?

来自分类Dev

解析日期字符串会导致[__NSDate length]无法识别的选择器异常

来自分类Dev

UIWebView上的加载URL崩溃,出现“无法识别的选择器”异常

来自分类Dev

核心数据异常:initWithCoder:]:无法识别的选择器已发送

来自分类Dev

在 Xamarin 中跟踪“无法识别的选择器发送到实例”异常

来自分类Dev

尝试在Swift中触发NSTimer对象时,WatchKit“无法识别的选择器已发送至实例”

来自分类Dev

无法让 NSKeyedArchiver 工作:无法识别的选择器

来自分类Dev

Swift 3:无法识别的选择器发送到实例Xcode 8

Related 相关文章

  1. 1

    Cocoapods框架中的Swift扩展导致无法识别的选择器发送给Class

  2. 2

    XCSourceEditorCommandInvocation快速扩展导致“无法识别的选择器发送到实例”异常

  3. 3

    Swift:使用协议扩展会导致“无法识别的选择器发送到实例”

  4. 4

    文本字段扩展错误-无法识别的选择器发送到实例swift

  5. 5

    Swift:使用协议扩展会导致“无法识别的选择器发送到实例”

  6. 6

    无法识别的选择器发送到iOS7中的实例异常

  7. 7

    无法识别的选择器NotificationCenter Swift 3

  8. 8

    Objective-C属性获取器抛出异常“无法识别的选择器已发送至实例”

  9. 9

    协议中无法识别的选择器

  10. 10

    iOS无法识别的选择器已发送到Swift中的实例

  11. 11

    NSNotification无法识别的选择器已发送到Swift中的实例

  12. 12

    Swift应用中的条带化iOS库导致无法识别的选择器错误

  13. 13

    NSNotification无法识别的选择器已发送到Swift中的实例

  14. 14

    IOS:无法识别的选择器发送到目标 C 中的实例 Swift 类

  15. 15

    setNeedsStatusBarAppearanceUpdate无法识别的选择器

  16. 16

    无法识别的选择器mutableCopyWithZone

  17. 17

    setNeedsStatusBarAppearanceUpdate无法识别的选择器

  18. 18

    SortedArrayUsingSelector无法识别的选择器

  19. 19

    无法识别的选择器mutableCopyWithZone

  20. 20

    SIGABRT /无法识别的选择器

  21. 21

    Swift选择器-无法识别的选择器已发送到实例

  22. 22

    如何识别无法识别的选择器和无法识别的选择器?

  23. 23

    解析日期字符串会导致[__NSDate length]无法识别的选择器异常

  24. 24

    UIWebView上的加载URL崩溃,出现“无法识别的选择器”异常

  25. 25

    核心数据异常:initWithCoder:]:无法识别的选择器已发送

  26. 26

    在 Xamarin 中跟踪“无法识别的选择器发送到实例”异常

  27. 27

    尝试在Swift中触发NSTimer对象时,WatchKit“无法识别的选择器已发送至实例”

  28. 28

    无法让 NSKeyedArchiver 工作:无法识别的选择器

  29. 29

    Swift 3:无法识别的选择器发送到实例Xcode 8

热门标签

归档