0

类扩展和头文件到底是什么?有什么区别?在头文件和类扩展中声明属性/方法有什么区别。我对objective-c完全陌生,所以初学者术语会很有用:)

提前致谢!

4

3 回答 3

4

顾名思义,它们扩展了类。类延续是另一个名称。类扩展通常用于声明私有方法和属性。您希望类扩展名对 可见@implementation,而不是在头文件中(即,您希望类扩展名和 @implementation 在 中MONClass.m)。

头文件中的类型和方法通常是公开的——任何客户端都可以使用。

示例:在类扩展中声明的属性对于标头的客户端将不可见/不可访问#import,但它可以被使用,@implementation因为@implementation可以看到类扩展的声明。

因此,这可用于模拟您的 ivars 和方法的受限访问。这很有用,因为不能将 ObjC 方法和属性指定为私有/受保护/公共(例如 using @public)。

类扩展与类别不同,主要是因为扩展可以声明存储(例如,将产生支持 ivars 的属性)。

于 2013-06-28T20:27:07.113 回答
2

文件(.h)是您在现有类中公开声明属性、方法和协议的地方。然后,您可以导入此文件,当然,将其用于您的实施。

扩展是您的实现文件中的另一个。这扩展了导入的头文件的内部实现,添加了在某人或其他人导入与类关联的头文件时将不可用的方法。@interface(.m)

有关更多信息,请查看Apple 关于自定义现有类的文档

于 2013-06-28T20:29:24.373 回答
1
于 2013-06-28T20:44:29.207 回答