2012-07-14 27 views
1

我目前正在参加斯坦福大学CS193p iPhone和iPad应用程序开发课程(http://itunes.apple.com/itunes-u/ipad-iphone-application-development/id473757255),并且在第二堂课中,将计算器连接到.m文件,他将显示标签(显示计算器上的值)连接到.h文件...目标C'目标行动'in .m和'outlet'in .h

我对整个实现和头文件事情的理解是,您声明类成员在标题中,并说明他们在执行中做了什么,这就是为什么这对我来说没有意义...

任何帮助将不胜感激

回答

0

Objective-C中的.m文件可能包含该类的.h文件未声明的类的方法。事实上,使用该语言的类别特征可以有多个.h.m,它们定义了一个类的所有方法。

至于可以连接什么,关键字IBOutlet标记属性或变量,IBAction标记操作方法。这些仅仅是编辑的提示。所有的“连接”都是在运行时自动设置的。

+0

是否有任何理由为什么你会把它放在另一个?我对编程相当陌生(我在学校只参加了几堂课),所以基本的解释确实有帮助,非常感谢答复! – sean5 2012-07-15 02:39:23

+0

许多方法仅用于帮助实现,因此它们对于显示在标题中没有用处。完全私有的方法经常被列在'.m'(例如'@interface MyClass(MyClassInternal)...')的顶部的一个类别中,这样即使它们没有被提及,仍然可以在没有警告的情况下调用它们在标题中。在我的代码中,如果它自动调用,也不会在'.h'中显示一个方法(例如'dealloc';任何只为了符合协议而定义的方法;只能由回调函数使用的任何方法方案,如'NSNotificationCenter')。 – 2012-07-15 03:26:44

+0

好吧,这开始变得更有意义了,我其实并没有做好解释我的情况的工作...... 在播客中,他们将UILabel(文本标签)拖到.h文件和IBAction(一个按钮).m文件,可能是因为按钮将发送值(按下了哪个数值按钮[这是一个RPN计算器程序]),并且它们没有将它们都带到.h文件标签只会显示计算的价值? – sean5 2012-07-15 04:09:40