Objective c 类方法在报头中的实现

Objective c 类方法在报头中的实现,objective-c,Objective C,在Objective-C中,如果我的类只包含类方法(没有成员变量或实例方法),我可以在类的头文件(.h)中定义类方法,并跳过创建.m文件吗?可以,但基本上不应该。虽然可以将@实现放入头文件中,但它是反约定的,它可能具有非预期的副作用,与C++或其他语言相同(例如,在头包含α时,您不能控制包含的内容,因此不能确定您有一个健全的全局命名空间)。 Objective-C中的最佳实践是仅在头文件中保留声明以及文档。由于文档通常非常冗长(如果写得好的话),因此在标题中已经包含了相当多的内容-在上面添加代码

在Objective-C中,如果我的类只包含类方法(没有成员变量或实例方法),我可以在类的头文件(.h)中定义类方法,并跳过创建.m文件吗?

可以,但基本上不应该。虽然可以将@实现放入头文件中,但它是反约定的,它可能具有非预期的副作用,与C++或其他语言相同(例如,在头包含α时,您不能控制包含的内容,因此不能确定您有一个健全的全局命名空间)。 Objective-C中的最佳实践是仅在头文件中保留声明以及文档。由于文档通常非常冗长(如果写得好的话),因此在标题中已经包含了相当多的内容-在上面添加代码将太多


还要记住,Objective-C方法没有内联,不管是类还是实例。这是将代码放入头文件是C/C++中比较流行的做法的一个重要原因。当然,您可以将静态函数放在Objective-C头文件中,这样您就可以以这种方式实现代码,但这可能是一种不可取的设计—例如,类方法提供了一种名称空间形式,这通常是明智的利用。

不是“最佳实践”,但为什么不尝试呢?可以,但最好不要尝试。Objul-C不是C++(幸运的是),它们的副作用是这样吗?它是否破坏了Xcode的方法识别,是否友好,是否有黑客行为?苹果有没有说过呢?如果你开始在标题中使用一些东西,你很容易得到重复的符号。我喜欢这个问题。我无法理解为什么我们需要这么多关于“只管做,不问”的评论。你不妨引用圣经中的话。