我找到了一个项目,其中包含一些文件,例如classname + util.h和classname + util.m。这些文件是什么以及如何在xcode中添加它们?
答案 0 :(得分:2)
他们的名字是Categories
,用于向一个类添加函数和属性。
假设您想要使用新方法扩展UIViewController
类。
你创建了一个类:
UIViewController+Utility.h/.m
使用新方法。
如果要在其他类中导入此类,则从UIViewController
继承的所有对象都将使用此方法,因此例如UITableViewController
也将有益于该方法。
您也可以插入属性,但由于您有导入,因此更复杂:
#import <objc/runtime.h>
并使用te函数:
objc_setAssociatedObject
objc_getAssociatedObject
答案 1 :(得分:2)
实际上这些文件并没有什么特别之处。此命名约定用于类别,即扩展现有类的代码。
答案 2 :(得分:1)
如前所述,ClassName+CustomName.h/m
是一个类别。一个类别它是一个特殊的objective-c
类,允许您向现有类添加额外的功能。
要使用其中的方法,您只需在要使用它的类中导入它。
另外要小心一个类别,它不是一个继承另一个类的类,它是不同的,一个类别允许你为该类(方法)添加额外的功能,就是这样。您无法像继承另一个类的类那样定义新属性或类成员。