目标c:方法关系.h和.m

时间:2011-04-07 07:32:54

标签: objective-c xcode header void

我有一个理论问题:但是每个方法和IbAction都必须在.h中声明。因为如果我在.m而不是.h中编写方法(void),项目没有问题。

4 个答案:

答案 0 :(得分:1)

这是如何实施课程的指南。

用“C”术语来思考它。您可以在.h(头文件)文件中定义原型,并在.c中执行实现,或者在.m文件中执行。

两种方式都可行,只是不要在.m中重新定义...

答案 1 :(得分:1)

如果你想从另一个类访问一个函数,你将导入.h头文件,让你的编译器了解在哪里找到这些函数以及如何翻译它们。

答案 2 :(得分:0)

不,它们都不需要在标题中声明。

在尝试按类别或扩展名创建方法“私有”时,通常会忽略标头中的声明。这是否比将标题中的那些声明为私有更具有或多或少的危险性是有争议的,并且取决于使用您的对象的人。

在单独的标题中声明与基本类型不太相关的类别也是很好的。

答案 3 :(得分:0)

是的,没有必要在.h中声明方法,因为在目标c中,任何消息都可以传递给任何对象。这就是为什么它不会给出任何错误而只是警告“ABClass可能不响应messageABC”。对于像我这样只是讨厌警告的人在.h中声明它。这是一个很好的做法,因为没有在标题中声明它更容易崩溃,因为你只是忽略警告而实例无法处理该消息,你的应用程序会说,“你好Crash先生”。和“Bye-Bye”给开发者。