我不能拥有一个名为Category的对象的原因是什么?

时间:2015-08-21 10:17:15

标签: objective-c

Objective-C中的名称Category是否受限制?

如果我在新项目上创建了一个对象Category的子类NSObject,我会收到错误并说Redefinition of 'Category' as different kind of symbol

例如:

Category.h

#import <Foundation/Foundation.h>

@interface Category : NSObject

@end

Category.m

#import "Category.h"

@implementation Category

@end

2 个答案:

答案 0 :(得分:0)

是的,已经创建了一个名为Category

的对象
/// An opaque type that represents a category.
typedef struct objc_category *Category;

您必须重新定义对象的名称。

答案 1 :(得分:0)

是的,它已经在ObjC运行时中定义。

  

///表示类别的opaque类型   typedef struct objc_category *Category;

您可以通过 - 点击符号来检查。