Objective-C类的类别数量是否有限制?

时间:2014-02-27 16:46:56

标签: objective-c class objective-c-category

Objective-C类的类别数量是否有限制?我正在努力使我的课程不那么冗长,只是想知道你的课程数量是否有限制。谢谢。

3 个答案:

答案 0 :(得分:1)

没有这样的限制。只需尝试为您的类别添加前缀以避免重复。

答案 1 :(得分:1)

正如已经回答的那样,不,没有这样的限制,至少不是这里的任何人都知道的。可能存在一些理论上的限制,但你不太可能遇到它。

我觉得我应该发一个答案,以便更好地回答你在评论中提出的问题。您想知道如何最好地为您的方法实现iPhone和iPad的不同实现,并且有几个不同的选项:

  • 您可以在每个方法中使用if语句执行相应的代码,具体取决于它是iPhone还是iPad。

  • 您可以使用“_iphone”或“_ipad”作为后缀的单独方法,然后根据主要方法,您可以根据if语句调用相应的方法。

  • 您可以使用“_iphone”或“_ipad”作为后缀的单独方法,然后使用方法调配将主要方法的实现替换为应用启动时的相应实现。每次调用方法时,这都会减少if语句的开销。

如果性能至关重要,那么最后一个选项将具有最佳性能,如果您多次调用它。但是,最后一个选项还需要深入了解Objective-C运行时。第一个和第二个选项都涉及在每次调用方法时检查它是哪个设备。但是,如果性能不是非常重要,那么第一个选项最容易设置。此外,第一个选项允许您在两者之间使用一些共同的代码,而不是在单独的方法中复制它,因此如果是这种情况可能是理想的。此外,很多时候能够在一个地方查找以查找处理特定操作的所有逻辑,并且如果其他人需要维护您的代码,则会使事情变得最简单。

答案 2 :(得分:0)

没有限制。它们是保持长码清洁的有效方法。确保正确命名它们以避免重复。