我的问题是在objective-c中创建类别的子类别的一个简单的基本问题。
考虑一个名为NSString + categoryName.h的文件,如下所示:
#import <Foundation/Foundation.h>
@interface NSString (categoryName)
...
@end
使用名为categoryName.m的相应实现文件(未显示)。
如果是这样,我将如何制作一个子类别?这是我最初的想法(包含在一个名为NSString + categoryName + subCategoryName.h的单独文件中):
//Should there be an import statement here to prepare compiler for appearance of categoryName?
#import <Foundation/Foundation.h>
@interface categoryName (subCategoryName)
...
@end
拥有一个类似名称的单独实现文件NSString + categoryName + subCategoryName.m:
// Is the import correct here? Do I need to somehow reference this in my .h file?
#import "NSString+categoryName.h"
@implementation categoryName (subCategoryName)
...
@end
我们非常感谢您对此事的任何帮助!
答案 0 :(得分:2)
我从未听说过Obj-C中的“子类别”。您可以为同一个类创建任意数量的类别,并且可以采用@interface Class (category_subcategory) ... @end
或类似的命名约定,但是您在类别上创建类别的想法似乎不可行。
答案 1 :(得分:0)
在Objective-C中,类别不是分层的。它们只是一种将方法放入并非一次全部加载的组的方法。