我可以扩展一个类别吗?

时间:2013-12-04 16:39:51

标签: ios objective-c categories

我需要为现有类添加功能。该类已经被一个类扩展,我需要这个扩展功能。我的问题是,添加新功能的最简洁,最恰当的方法是什么?我可以在课程中添加另一个类别而不影响已经存在的类别吗?我可以将类别子类化(甚至可能吗?)

我的具体情况是我对基于网址的图片有UIImageView+WebCache,但我想添加点击/点按这些图片的功能,将您带到另一个网址,该网址是新类别中的属性。但是,我的问题更普遍地涉及iOS中的类别和最佳实践。 IOW,通常会怎么做呢?

2 个答案:

答案 0 :(得分:3)

  

我可以在课程中添加另一个类别而不会影响该类别   那已经存在了?

您可以在同一个班级上拥有不同的类别,并且它们不会相互拦截。您只需导入所需的那些。如果您不想扩展实际类别,可以将代码添加到其中。

答案 1 :(得分:2)

您可以安全地为单个班级创建多个类别。有些人更喜欢创建一个包含所有附加功能的“伞形”类别,但通常建议为每个目的创建一个新类别。这允许您仅导入在特定上下文中使用的内容。