简单地说,在使用Xcode 9 Beta时,我遇到了以下警告:
不建议在Swift 4模式中使用Swift 3 @objc推断。请解决已弃用的@objc推断警告,测试代码时启用“使用已弃用的Swift 3 @objc推断”日志记录,并禁用Swift 3 @objc推断。**
经过一番研究,我仍然不知道如何解决这个问题。 我将非常感谢任何关于如何解决这个问题的提示,以及对正在发生的事情的解释。
我的目标是更好地理解我的代码发生了什么。
简单地说,在使用Xcode 9 Beta时,我遇到了以下警告:
不建议在Swift 4模式中使用Swift 3 @objc推断。请解决已弃用的@objc推断警告,测试代码时启用“使用已弃用的Swift 3 @objc推断”日志记录,并禁用Swift 3 @objc推断。**
经过一番研究,我仍然不知道如何解决这个问题。 我将非常感谢任何关于如何解决这个问题的提示,以及对正在发生的事情的解释。
我的目标是更好地理解我的代码发生了什么。
当前回答
在@wisekiddo所说的之上,您还可以在项目中修改您的构建设置。通过将SWIFT_SWIFT3_OBJC_INFERENCE = default设置为SWIFT_SWIFT3_OBJC_INFERENCE = default;对于你的构建风格(即调试和发布),特别是如果你来自Xcode以外的其他环境
其他回答
您可以尝试“Pod更新”和/或“颤振清理”
我也在xcode中设置了这个设置。
Objective-C界面设置如下:
在@wisekiddo所说的之上,您还可以在项目中修改您的构建设置。通过将SWIFT_SWIFT3_OBJC_INFERENCE = default设置为SWIFT_SWIFT3_OBJC_INFERENCE = default;对于你的构建风格(即调试和发布),特别是如果你来自Xcode以外的其他环境
Swift 3 @objc推断 不建议在Swift 4模式中使用Swift 3 @objc推断。请解决已弃用的@objc推断警告,测试您的代码,启用“使用已弃用的Swift 3 @objc推断”日志记录,然后通过将“Swift 3 @objc推断”构建设置更改为“默认”的“XMLParsingURL”目标来禁用推断。
到了
第一步是构建设置 搜索到构建设置推理 change swift 3 @objc Inference默认值
在这里输入图像描述
在Swift 4模式下使用Swift 3 @objc推断已弃用?
使用func调用@objc
func call(){
foo()
}
@objc func foo() {
}
你只需要运行一个测试,等待完成,之后进入构建设置,搜索到构建设置推理, 将swift 3 @objc Inference更改为(默认)。我就是这么做的,而且效果很好。