"Overriding the category" as a different kind of character "and conflict with Objc runtime class names

I have a class in Objective-C:

@interface Category : NSObject
{
// ...
}

Everything was fine and I used this class without problems in three different projects.

As soon as I decided to create a test goal for one project. Then a strange thing happened: the compiler refuses to compile with this error:

Redefenition of 'Category' as a different kind of symbol

he also pointed to runtime.hwith

typedef struct objc_category *Category;

Well, that’s reasonable.

However, I can’t understand why this allowed me to use this class earlier and what is the difference between the original goal and the target topic. I checked Deploy target, iOS SDKall macros, path header, #import <objc/runtime.h>and classes for both purposes - it is almost the same.

- , ?

+4
2

, . , .

, , <objc/runtime.h> - . , , Xcode , . , .

, Apple 2 3

+3

, @Olotiar , .

, " (C Objective-C)" .

0

All Articles