swift 通知中心使用未声明的类型名称错误

阿恩·奥尔登哈夫

我遇到了最令人沮丧的错误。我正在我的应用程序中设置通知并使用 swift 4.2。我使用新语法。我设置的 popupController 设置如下

    NotificationCenter.default.post(name: .saveFoodGroup, object: self)
    dismiss(animated: true, completion: nil)

我创建了一个NotificationCenterExtension.swift包含名称文件:

extension Notification.Name {
static let saveFoodGroup = Notification.Name(rawValue: "saveFoodGroup")
}

在我的控制器中,我将观察者设置.viewDidLoad()为如下:

NotificationCenter.default.addObserver(
  forName: .saveFoodGroup,
  object: nil,
  queue: OperationQueue.main ) {
     (notification) in
         let groupPopUp = notification.object as! ScalePopUpController
         print(groupPopUp)
         self.foodGroup = groupPopUp.textInput as? String
   }

但是在运行时我不断收到此错误:

unrecognised selector sent to instance 0x7fb9c7e23ef0'

经过一番搜索,我发现当 #selectors 设置不正确时,这是一个旧的 ObjC 错误。但由于我使用的是新语法,这应该不是问题。最后一条线索:当我将鼠标悬停.saveFoodGroupNotificatioCenter.default.post(name: .saveFoodGroup) 调用中参数上时我得到了这个神秘的提示;expression produced error: error:

/var/folders/xj/f18tylg51kl33z6c6p2vh34r0000gn/T/expr15-a14342..swift:1:65: 错误:使用未声明的类型“名称”

谁能告诉我这是怎么回事?

完整的错误信息:

2018-12-04 20:17:28.780056+0100 unFatMobile[47399:4108185] -[unFatMobile.ScalePopUpController onBtPRew:]: unrecognized selector sent to instance 0x7fb9c7e23ef0
2018-12-04 20:17:28.787522+0100 unFatMobile[47399:4108185] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[unFatMobile.ScalePopUpController onBtPRew:]: unrecognized selector sent to instance 0x7fb9c7e23ef0'

(
0   CoreFoundation                      0x000000010c6b91bb __exceptionPreprocess + 331
1   libobjc.A.dylib                     0x000000010a6d3735 objc_exception_throw + 48
2   CoreFoundation                      0x000000010c6d7f44 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3   UIKitCore                           0x000000010f091b4a -[UIResponder doesNotRecognizeSelector:] + 287
4   CoreFoundation                      0x000000010c6bded6 ___forwarding___ + 1446
5   CoreFoundation                      0x000000010c6bfda8 _CF_forwarding_prep_0 + 120
6   UIKitCore                           0x000000010f064ecb -[UIApplication sendAction:to:from:forEvent:] + 83
7   UIKitCore                           0x000000010eaa00bd -[UIControl sendAction:to:forEvent:] + 67
8   UIKitCore                           0x000000010eaa03da -[UIControl _sendActionsForEvents:withEvent:] + 450
9   UIKitCore                           0x000000010ea9f31e -[UIControl touchesEnded:withEvent:] + 583
10  UIKitCore                           0x000000010f0a00a4 -[UIWindow _sendTouchesForEvent:] + 2729
11  UIKitCore                           0x000000010f0a17a0 -[UIWindow sendEvent:] + 4080
12  UIKitCore                           0x000000010f07f394 -[UIApplication sendEvent:] + 352
13  UIKit                               0x0000000127f0b183 -[UIApplicationAccessibility sendEvent:] + 85
14  UIKitCore                           0x000000010f1545a9 __dispatchPreprocessedEventFromEventQueue + 3054
15  UIKitCore                           0x000000010f1571cb __handleEventQueueInternal + 5948
16  CoreFoundation                      0x000000010c61e721 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17  CoreFoundation                      0x000000010c61df93 __CFRunLoopDoSources0 + 243
18  CoreFoundation                      0x000000010c61863f __CFRunLoopRun + 1263
19  CoreFoundation                      0x000000010c617e11 CFRunLoopRunSpecific + 625
20  GraphicsServices                    0x00000001147d41dd GSEventRunModal + 62
21  UIKitCore                           0x000000010f06381d UIApplicationMain + 140
22  unFatMobile                         0x0000000109d56f47 main + 71
23  libdyld.dylib                       0x000000010db52575 start + 1
)
什_汗

您发布通知的位置(可能是按钮操作)

-[unFatMobile.ScalePopUpController onBtPrew:]

有一个名为onBtPRew您将其链接到 Ib的操作方法,然后将其删除,这里的通知实现(选择器 && @objc )与此崩溃无关,并且新的内联回调正在工作

Note : 当您在 IB 中复制元素时也会发生这种情况,附加的动作也随它们一起复制,因此请确保断开不相关的动作

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Objective c中使用Swift类。发生未声明的标识符错误

来自分类Dev

在Objective c中使用Swift类。发生未声明的标识符错误

来自分类Dev

在Swift中使用未声明的类型'UIImage'

来自分类Dev

在Swift中导入Swift框架:“使用未声明的类型'MyCustomView'”

来自分类Dev

在字典扩展(Swift)中使用未声明的类型'KeyType'

来自分类Dev

在Swift中对我自己的ViewController进行单元测试时,使用未声明的类型'ViewController'吗?

来自分类Dev

在Swift中声明任何类型的数组时使用未声明的类型'T'

来自分类Dev

为什么在Swift所属类型中未声明运算符重载?

来自分类Dev

Swift-使用未声明的类型'GTMOAuth2Authentication'

来自分类Dev

Swift'使用未声明的类型'

来自分类Dev

为什么在Swift中会发生“使用未声明类型的UITableView”?

来自分类Dev

使用swift文件时使用未声明的类型

来自分类Dev

使用未声明的类型错误:Swift

来自分类Dev

错误:使用未声明的类型'SCNView'

来自分类Dev

使用Swift的预期声明错误

来自分类Dev

使用泛型类型时“使用未声明的类型名称”

来自分类Dev

在Swift中使用类型约束声明属性

来自分类Dev

如何修复Swift 5.1中的“使用未声明类型”错误?

来自分类Dev

Swift / Xcode奇怪的行为:在声明之前使用结构的情况下,显示“使用未声明的类型”错误

来自分类Dev

Swift-使用未声明的类型'GTMOAuth2Authentication'

来自分类Dev

使用未声明类型的tableViewCell Swift

来自分类Dev

错误:使用未声明的类型'SCNView'

来自分类Dev

使用未声明类型的'RoboViewController'Swift

来自分类Dev

在Swift中使用类型约束声明属性

来自分类Dev

使用未声明的类型'MFMessageComposeViewControllerDelegate swift'

来自分类Dev

使用未声明的类型“ Response”错误

来自分类Dev

NSMultipleValuesMarker在Swift 3中使用未声明的类型

来自分类Dev

升级到Swift 3时使用未声明的类型

来自分类Dev

Swift 上的 Firebase IOS:使用未声明的类型“DatabaseReference”

Related 相关文章

  1. 1

    在Objective c中使用Swift类。发生未声明的标识符错误

  2. 2

    在Objective c中使用Swift类。发生未声明的标识符错误

  3. 3

    在Swift中使用未声明的类型'UIImage'

  4. 4

    在Swift中导入Swift框架:“使用未声明的类型'MyCustomView'”

  5. 5

    在字典扩展(Swift)中使用未声明的类型'KeyType'

  6. 6

    在Swift中对我自己的ViewController进行单元测试时,使用未声明的类型'ViewController'吗?

  7. 7

    在Swift中声明任何类型的数组时使用未声明的类型'T'

  8. 8

    为什么在Swift所属类型中未声明运算符重载?

  9. 9

    Swift-使用未声明的类型'GTMOAuth2Authentication'

  10. 10

    Swift'使用未声明的类型'

  11. 11

    为什么在Swift中会发生“使用未声明类型的UITableView”?

  12. 12

    使用swift文件时使用未声明的类型

  13. 13

    使用未声明的类型错误:Swift

  14. 14

    错误:使用未声明的类型'SCNView'

  15. 15

    使用Swift的预期声明错误

  16. 16

    使用泛型类型时“使用未声明的类型名称”

  17. 17

    在Swift中使用类型约束声明属性

  18. 18

    如何修复Swift 5.1中的“使用未声明类型”错误?

  19. 19

    Swift / Xcode奇怪的行为:在声明之前使用结构的情况下,显示“使用未声明的类型”错误

  20. 20

    Swift-使用未声明的类型'GTMOAuth2Authentication'

  21. 21

    使用未声明类型的tableViewCell Swift

  22. 22

    错误:使用未声明的类型'SCNView'

  23. 23

    使用未声明类型的'RoboViewController'Swift

  24. 24

    在Swift中使用类型约束声明属性

  25. 25

    使用未声明的类型'MFMessageComposeViewControllerDelegate swift'

  26. 26

    使用未声明的类型“ Response”错误

  27. 27

    NSMultipleValuesMarker在Swift 3中使用未声明的类型

  28. 28

    升级到Swift 3时使用未声明的类型

  29. 29

    Swift 上的 Firebase IOS:使用未声明的类型“DatabaseReference”

热门标签

归档