【发布时间】:2011-04-07 07:32:54
【问题描述】:
我有一个理论上的问题:但是每个方法和 IbAction 都必须在 .h 中声明???因为如果我在 .m 中而不是在 .h 中编写方法(void),则项目没有问题。
【问题讨论】:
标签: objective-c xcode header void
我有一个理论上的问题:但是每个方法和 IbAction 都必须在 .h 中声明???因为如果我在 .m 中而不是在 .h 中编写方法(void),则项目没有问题。
【问题讨论】:
标签: objective-c xcode header void
如果你想从另一个类访问一个函数,你需要导入那个 .h 头文件,让你的编译器知道在哪里可以找到这些函数以及如何翻译它们。
【讨论】:
它是如何实现类的指南。
用“C”术语来考虑它。您在 .h(头文件)文件中定义您的原型,并在 .c 或在本例中的 .m 文件中执行实现。
两种方式都可以,只是不要在 .m... 中重新定义它...
【讨论】:
不,它们并不都需要在标题中声明。
在尝试按类别或扩展将方法设为“私有”时,通常会忽略标头中的声明。与将标头中的内容声明为私有相比,这是否更危险还是有争议的,并且取决于使用您的对象的人。
在单独的标头中声明与基本类型不太相关的类别也很好。
【讨论】:
是的,没有必要在 .h 中声明方法,因为在目标 c 中,任何消息都可以传递给任何对象。这就是为什么它没有给出任何错误,而只是一个警告“ABClass 可能不响应 messageABC”。对于像我这样讨厌警告的人来说,在 .h 中声明它。这是一个很好的做法,因为不在标头中声明它更容易崩溃,因为您只是忽略警告并且实例无法处理该消息并且您的应用程序会说“Hello Mr. Crash”。和开发者说“Bye-Bye”。
【讨论】: