Swift 什么是<&书信电报;错误类型>&燃气轮机;迅速地

Swift 什么是<&书信电报;错误类型>&燃气轮机;迅速地,swift,Swift,因此,我在AppDelegate.swift中看到一个函数func application willresignactive(application:UIApplication),但当我-print ast时,我看到了下面的内容 内部函数应用程序WillResignActive(\uApplication:UIApplication)-> 什么是是编译器的问题或bug,我们可以说,这表明编译器无法编译您当前的对象。 当您使用类型为AnyObject的对象时,经常会遇到这种情况 清理您的项目将解决

因此,我在AppDelegate.swift中看到一个函数
func application willresignactive(application:UIApplication)
,但当我
-print ast
时,我看到了下面的内容

内部函数应用程序WillResignActive(\uApplication:UIApplication)->

什么是

是编译器的问题或bug,我们可以说,这表明编译器无法编译您当前的对象。 当您使用类型为AnyObject的对象时,经常会遇到这种情况

清理您的项目将解决您的问题,
即使清理不起作用,也要关闭一次XCode(我从来没有为此关闭过XCode)

您必须提供一个SDK和一个目标,以便编译器 查找Swift标准库、所需的框架(如“UIKit”),并了解类型, 定义了方法等

例如:

$ xcrun --sdk iphoneos swiftc -target arm64-apple-ios10.1 -print-ast AppDelegate.swift 2>/dev/null $xcrun--sdk iphoneos swiftc-target arm64-apple-ios10.1-print ast AppDelegate.swift 2>/dev/null 输出:

import UIKit @UIApplicationMain @objc internal class AppDelegate : UIResponder, UIApplicationDelegate { @objc internal var window: UIWindow? @objc internal func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool @objc internal func applicationWillResignActive(_ application: UIApplication) @objc internal func applicationDidEnterBackground(_ application: UIApplication) @objc internal func applicationWillEnterForeground(_ application: UIApplication) @objc internal func applicationDidBecomeActive(_ application: UIApplication) @objc internal func applicationWillTerminate(_ application: UIApplication) @objc deinit @objc override internal init() } 导入UIKit @UIApplicationMain@objc内部类AppDelegate:UIResponder,UIApplicationLegate{ @objc内部变量窗口:UIWindow? @objc内部函数应用程序(application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplicationLaunchOptions:[UIApplicationLaunchOptions:Any])->Bool @objc内部函数应用程序WillResignActive(application:UIApplication) @objc内部函数应用程序标识符背景(u应用程序:UIApplication) @objc内部函数应用程序WillEnterForeground(application:UIApplication) @objc内部函数应用程序IDBECOMEACTIVE(u应用程序:UIApplication) @objc内部函数应用程序将终止(u应用程序:UIApplication) @objc脱硝剂 @objc重写内部初始化() } (我在命令行中添加了
2>/dev/null
,因为一些关于
'UIApplicationMain'
的警告被打印到标准中
错误,我还不能正确地抑制它们。)

我没有收到任何编译错误。我刚刚检查了打印ast转储,对这个
感兴趣是的,我不是说这是您代码中的问题,我的意思是说这是编译器的问题。swift已经运行了2年。Swift编译器为我们的每一个版本都在不断发展。干杯!你能提供一个模拟的Swift源文件和准确的
swiftc-print ast
调用吗?它只是标准的
AppDelegate。Swift
文件和准确的终端调用是
swiftc-AppDelegate.Swift-print ast | grep'func'
So,本质上-
是编译器无法理解所需的框架吗?它在什么地方被记录了吗?@prabodhprakash:我认为
是打印出来的,因为没有找到UIKIT,swiftc甚至不知道
UIApplication
的类型如果键入“xcrun-help”和“swiftc-help”,则会显示“sdk”和“target”参数。我不知道是否有一个包含所有可能值的好文档。我检查了Xcode中的构建日志,以及一些“尝试和错误”: