objective-c - 是否有任何理由修改 iOS 应用程序中的 main.m 文件?

标签 objective-c ios cocoa-touch program-entry-point

我试图更好地理解基本 iOS 应用程序中包含的每个文件的用途。

有什么理由要修改main.m文件吗?我想知道是否需要修改该文件。如果您确实要修改它,为什么?

最佳答案

在 99.9% 的情况下,不需要触摸 main.m

在另外 0.1% 中,您可能想要更改调用 UIApplicationMain() 函数的参数。此函数的最后两个参数指定表示主应用程序(默认为 UIApplication)和应用程序委托(delegate)的类的名称。

如果您决定将 UIApplication 子类化,您可以将第三个参数设置为您的子类的名称。如果您想拦截您的应用程序处理的某些事件(覆盖 sendEvent:),子类化 UIApplication 会很有用。

如果您只是决定重命名该类,您的应用委托(delegate)类的名称可能会发生变化。此外,如果 UIApplicationMain() 的第四个参数是 nil(这是在 iOS 5 中不使用 Storyboarding 的项目模板中的默认值),则表示您创建了您的应用程序主 NIB 文件中的应用程序委托(delegate)对象。如果您决定更改该决定(例如,为现有项目调整 Storyboarding),则必须更改第四个参数以告知 UIApplicationMain() 它应该实例化的类的名称.

关于objective-c - 是否有任何理由修改 iOS 应用程序中的 main.m 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7998342/

相关文章:

ios - 我在 Controller 内调用 startDeviceMotionUpdatesToQueue 时得到 OSSpinLockLock

ios - 可以将编译后的 .m 文件下载到应用程序中吗?

iPhone:在设置导航栏显示/隐藏动画时无法设置 contentInset 动画

ios - Google Analytics 集成在 iOS 中不起作用

ios - pushVC 来自过滤后的 tableView

ios - 使用 CALayers 绘制自定义形状和动画自定义属性?

ios - 使用 UIWebView 创建样式文本(在视网膜屏幕上模糊)

ios - 如何使用 interfacebuilder 为在 viewcontroller 中添加的所有标签设置相同的颜色?

iphone - 播放从保存的 persistentid 列表中检索到的 iPod 播放列表

objective-c - 无法在 UILabel 上设置文本字段