将 AppDelegate.h 和 AppDelegate.m 替换为 AppDelegate.swift

Posted

技术标签:

【中文标题】将 AppDelegate.h 和 AppDelegate.m 替换为 AppDelegate.swift【英文标题】:Replace AppDelegate.h and AppDelegate.m to AppDelegate.swift 【发布时间】:2015-06-02 12:52:02 【问题描述】:

我只有一个 Objective-C 项目,我想使用 AppDelegate 访问我的 xcdatamodel,但是当我将 AppDelegate.swift 添加到我的项目时,它显示了一个编译问题,这是错误,因为它不知道是什么AppDelegate 的用途和主要是什么。然后我尝试删除AppDelegate.hAppDelegate.m并添加AppDelegate.swift,但它也不起作用并且仍然有编译错误。 如何添加AppDelegate.swift

【问题讨论】:

【参考方案1】:

如果你想使用AppDelegate.swift而不是AppDelegate.h/AppDelegate.m,你应该将Swift文件添加到你的项目中并删除.h.m文件(不要忘记点击是时询问桥接头)。此外,您还应该删除main.m,因为它不再需要并且会导致链接器错误。

【讨论】:

很高兴我能帮上忙!如果这是您正在寻找的答案,您可以选择它作为正确的答案。 但是我有新的编译问题需要main.m文件来编译。【参考方案2】:

Teo 是正确的。为解决 main.m 文件编译问题,在类声明上方添加@UIApplicationMain

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate 

【讨论】:

【参考方案3】:

我建议您使用 Swift 创建一个新的 Xcode 项目作为默认项目,并检查其中的 AppDelegate 代码并将其复制/调整到您的项目中。

【讨论】:

以上是关于将 AppDelegate.h 和 AppDelegate.m 替换为 AppDelegate.swift的主要内容,如果未能解决你的问题,请参考以下文章

AppDelegate.swift 如何在 Xcode 6.3 中替换 AppDelegate.h 和 AppDelegate.m

将案例编码到 appDelegate 文件中[关闭]

在 Main.storyboard 和 AppDelegate.h 之间建立连接

如何将数据库从 AppDelegate 传递到 ViewController

AppDelegate.m 和 View Controller.m 的区别

在 AppDelegate 中为两个视图控制器使用和更新 NSMutableString