我正在查看https://github.com/intabulas/ipivotal/blob/master/Classes/iPivotalAppDelegate.m
的来源它看起来像是iphone应用程序的“主”文件,因为它引用了UIApplication,我是否正确?
如何有一个.h文件,在.m文件中还有另一个同名的@interface代码块?
我想它可以重新定义或继续声明接口吗?
答案 0 :(得分:4)
你基本上是正确的,-[<UIApplicationDelegate> applicationDidFinishLaunchingWithOptions:]
是应用程序自定义代码的入口点(真正的入口点实际上是UIApplicationMain()
,但如果我是你,我不会尝试重新实现)。
.m文件中的“第二@interface
”是类别,它允许您定义未在类主界面中定义的额外方法。这可以用于在多个文件上中断类,向现有类添加功能,或者(如此处)将某些方法定义保密。
答案 1 :(得分:1)
通常,是的,AppNameAppDelegate类是放置所有应用程序级代码的地方。
隐藏的内容是main()
函数调用Cocoa框架的初始化函数,该函数加载包含app委托的NIB。 UIApplication
对象(由框架提供)将在适当的时间调用app委托的方法。
答案 2 :(得分:0)
您可以继续在.m文件中定义私有类别中的@interface,这通常是为了拥有您不希望公开的私有方法和属性。