gpt4 book ai didi

objective-c - 使用未解析的标识符将 Objective-C 转换为 Swift 3.1 错误

转载 作者:行者123 更新时间:2023-11-28 06:21:03 25 4
gpt4 key购买 nike

在我正在进行的将我发布的一个 Objective-C 应用程序转换为 Swift 3.1 的项目中,我遇到了另一个问题。我正在使用一个选择器在我的 appdelegate 中调用一个函数,但很快它就给我一个错误:

Use of unresolved identifier 'reachabilityChanged'

“reachabilityChanged”函数确实存在,但似乎 swift 没有找到它。下面是我正在使用的 swift 和 objective-c 中的代码。 swift 中的 reachabilityChanged 函数没有给出任何错误。当然,这在 objective-c 中运行良好,因为我正在转换已发布的应用程序。我正在学习 swift 3.1 中的一些教程,所以我不确定我的语法是否正确。

//SWIFT 3.1
NotificationCenter.default.addObserver(self, selector:
#selector(reachabilityChanged), //getting 'use of unresolved identifier reachabilityChanged' for the reachabilityChanged function
name: NSNotification.Name(rawValue: kReachabilityChangedNotification),
object: nil)

func reachabilityChanged(note: NSNotification) {
//code
}

//OBJ-C
[[NSNotificationCenter defaultCenter] addObserver: self selector:
@selector(reachabilityChanged:)
name: kReachabilityChangedNotification object: nil];

- (void) reachabilityChanged: (NSNotification* )note {
//code
}

最佳答案

尝试以下操作:

NotificationCenter.default.addObserver(self, selector: #selector(self.reachabilityChanged(note:)), name: NSNotification.Name(rawValue: kReachabilityChangedNotification),  object: nil)

注意:#selector(self.reachabilityChanged(note:)) - self 以及 (note:)

也像刺猬先生提到的那样添加@objc。

关于objective-c - 使用未解析的标识符将 Objective-C 转换为 Swift 3.1 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43453333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com