2012-05-12 4 views
2

У меня есть набор классов данных, которые я хотел бы расширить с помощью собственных методов, создав категории, уникальные для каждого класса.Категории Objective-C с тем же именем

При объявлении категории каждая категория должна иметь уникальное имя или я могу использовать одно и то же имя.

Пример. Скажем, у меня есть класс List и класс ListItem, и я хочу категории на обоих. Что я делаю сейчас декларирует следующим образом:

В списке + Additions.h

@interface List (Additions) ... 

В ListItem + Addtions.h

@interface ListItem (Additions) ... 

Это нормально? Я не могу сказать, постоянно ли он работает. Что считается названием категории? Это «Дополнения» или комбинация «ListItem + Дополнения».

ответ

2

Названия категорий: List (Additions) и ListItem (Additions). Таким образом, две категории являются независимыми и независимыми.

Что-то вроде «ListItem + Дополнения» является общим соглашением для имен файлов, которые определяют категории, но ни компилятор, ни среда выполнения не обращают на это внимания.

+0

Asterisk: компилятор ** делает ** замечает имя файла, как еще будет работать макрос '__FILE__'? –

+0

Он * знает * имя файла, но не обращает на это никакого внимания. Он не основывает на нем никаких решений. (Кроме того, макрос '__FILE__' заменяется препроцессором, а не компилятором.) –

2

Это нормально? Я не могу сказать, постоянно ли он работает. Что считается названием категории? Это «Дополнения» или комбинация «ListItem + Дополнения».

Да, это нормально.

Обе категории имеют одинаковое имя: Additions, но один является List «категория s, и другой является ListItem» s категория. Таким образом, не происходит столкновений имен. Это верно, даже если бы вы поместили обе объявления категорий в один и тот же файл.

Смежные вопросы