AppNameAppDelegate.h和.m是所有应用程序的入口点吗?

时间:2011-01-07 15:19:23

标签: iphone objective-c

我正在查看https://github.com/intabulas/ipivotal/blob/master/Classes/iPivotalAppDelegate.m

的来源

它看起来像是iphone应用程序的“主”文件,因为它引用了UIApplication,我是否正确?

如何有一个.h文件,在.m文件中还有另一个同名的@interface代码块?

我想它可以重新定义或继续声明接口吗?

3 个答案:

答案 0 :(得分:4)

你基本上是正确的,-[<UIApplicationDelegate> applicationDidFinishLaunchingWithOptions:]是应用程序自定义代码的入口点(真正的入口点实际上是UIApplicationMain(),但如果我是你,我不会尝试重新实现)。

.m文件中的“第二@interface”是类别,它允许您定义未在类主界面中定义的额外方法。这可以用于在多个文件上中断类,向现有类添加功能,或者(如此处)将某些方法定义保密。

答案 1 :(得分:1)

通常,是的,AppNameAppDelegate类是放置所有应用程序级代码的地方。

隐藏的内容是main()函数调用Cocoa框架的初始化函数,该函数加载包含app委托的NIB。 UIApplication对象(由框架提供)将在适当的时间调用app委托的方法。

答案 2 :(得分:0)

您可以继续在.m文件中定义私有类别中的@interface,这通常是为了拥有您不希望公开的私有方法和属性。