什么是ios中的filename + util.m / .h文件?

时间:2014-05-11 21:16:49

标签: ios objective-c

我找到了一个项目,其中包含一些文件,例如classname + util.h和classname + util.m。这些文件是什么以及如何在xcode中添加它们?

3 个答案:

答案 0 :(得分:2)

他们的名字是Categories,用于向一个类添加函数和属性。

假设您想要使用新方法扩展UIViewController类。 你创建了一个类:

UIViewController+Utility.h/.m

使用新方法。

如果要在其他类中导入此类,则从UIViewController继承的所有对象都将使用此方法,因此例如UITableViewController也将有益于该方法。

您也可以插入属性,但由于您有导入,因此更复杂:

#import <objc/runtime.h>

并使用te函数:

objc_setAssociatedObject

objc_getAssociatedObject

答案 1 :(得分:2)

实际上这些文件并没有什么特别之处。此命名约定用于类别,即扩展现有类的代码。

https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html

答案 2 :(得分:1)

如前所述,ClassName+CustomName.h/m是一个类别。一个类别它是一个特殊的objective-c类,允许您向现有类添加额外的功能。

要使用其中的方法,您只需在要使用它的类中导入它。

另外要小心一个类别,它不是一个继承另一个类的类,它是不同的,一个类别允许你为该类(方法)添加额外的功能,就是这样。您无法像继承另一个类的类那样定义新属性或类成员。