Objective c 无法理解目标C中的以下代码?
请参阅以下代码: 文件名:myclass.hObjective c 无法理解目标C中的以下代码?,objective-c,Objective C,请参阅以下代码: 文件名:myclass.h @interface myclass:NSObject ... @end @interface NSObject(CategoryName) .... @end 我不明白我们如何在同一个.h文件中声明2@interface指令?就像在实现文件中一样,我们只能实现上面的一个接口 文件名:myclass.m @implementation myclass ... @end 在上面的代码中,我无法编写@implementation Categoryn
@interface myclass:NSObject
...
@end
@interface NSObject(CategoryName)
....
@end
我不明白我们如何在同一个.h文件中声明2@interface指令?就像在实现文件中一样,我们只能实现上面的一个接口
文件名:myclass.m
@implementation myclass
...
@end
在上面的代码中,我无法编写@implementation Categoryname,因为.h文件的名称是myclass。如何实现类别中描述的方法
我的主界面是否可以扩展一个类,我在同一个.h文件中定义的类别是否可以扩展另一个类
如何在objective c中将一个类声明为另一个类(嵌套类)
先谢谢你
更新
在阅读了回答之后,我还有两个问题
将其作为另一个声明添加到同一文件中,如下所示
@implementation NSObject (categoryname)
...
@end
所有这些都在开发人员文档中描述
由于要在同一接口中扩展不同的类,因此需要在实现文件中有一个单独的声明
编辑以回答添加内容:
NSObject+CategoryName.h
和NSObject+CategoryName.m
中。在类上声明并定义了一个类别后,该类别的所有对象都可以使用它。因此,由于要向NSObject添加扩展名,因此无论是否导入头文件,这些方法都可用于从NSObject继承的所有类(实际上是所有类)。但是,如果不导入标头,则会收到编译器警告,即使Objective-C运行时仍允许调用这些方法将其作为另一个声明添加到同一文件中,如下所示
@implementation NSObject (categoryname)
...
@end
所有这些都在开发人员文档中描述
由于要在同一接口中扩展不同的类,因此需要在实现文件中有一个单独的声明
编辑以回答添加内容:
NSObject+CategoryName.h
和NSObject+CategoryName.m
中。在类上声明并定义了一个类别后,该类别的所有对象都可以使用它。因此,由于要向NSObject添加扩展名,因此无论是否导入头文件,这些方法都可用于从NSObject继承的所有类(实际上是所有类)。但是,如果不导入标头,则会收到编译器警告,即使Objective-C运行时仍允许调用这些方法类别位于中的NSObject上question@JeremyP-助教。我太专注于myclass位了。那么类别是否在NSObject上又有什么关系呢?它只关系到您声明实现的方式。类别扩展了一个类-因此您需要在声明中指定该类。在你进一步思考之前,先阅读一下我提供的链接文档。这里有一些例子和比我在这里给出的更深入的解释question@JeremyP-助教。我太专注于myclass位了。那么类别是否在NSObject上又有什么关系呢?它只关系到您声明实现的方式。类别扩展了一个类-因此您需要在声明中指定该类。在你进一步思考之前,先阅读一下我提供的链接文档。这里有一些例子和比我在这里能给出的更深刻的解释。