2013-04-12 3 views
1

По аналогии, в Eclipse IDE и многих других, когда я объявляю некоторые частные атрибуты класса, я могу автоматически генерировать методы getters и seters. Это очень полезно, например, объявить примерно с 20 атрибутами, и я, наконец, создал все мои методы.Сгенерированный автоматический код

Имеем ли мы такую ​​же функциональность в xCode IDE, я имею в виду ... Когда я кодирую некоторые методы объявлений «.h», могу ли я автоматически объявить в «.m» ....

например:

В ".h", код ниже:

- (NSString *)loadMessageLabelFr:(id)sender; 

В ".m", код 'желаемого' генерируется с функциональностью меню:

- (NSString *)loadMessageLabelFr:(id)sender{ 

} 
+0

Попробуйте использовать AppCode из JetBrains. – AndrewShmig

ответ

1

Я знаю, что вы имеете в виду - много раз, после объявления 10 методы в моем заголовке, я хотел, чтобы они каким-то образом были перенесены в мой файл реализации.

Однако ...

Это не Java, объекты и организации файлов полностью отличается

  1. Вы не должны определить метод, и он по-прежнему действует случай использования. Есть классы, которые не имеют конкретные определений методов и обрабатывать вызовы методов в doesNotRecognizeSelector:

  2. Вы можете добавить определение методов во время выполнения

  3. Вы можете определить методы из одного заголовка в нескольких файлах реализации.

По этим причинам (и многим другим) создание заголовков методов в файлах реализации может иметь больше минусов, чем профи.

Самое простое решение Xcode являются

  1. метод копирования-вставки заголовков от .h к .m.
  2. Используйте автозаполнение, записывая начало заголовка, например. - (BOOL) позволит вам автозаполнять быстрее.
0

Как вы определяете переменные экземпляра?

Ответ на ваш вопрос (например, переменные) - это «нет, но вам они действительно нужны» ... Для создания во время компиляции используются свойства и методы доступа. На практике вам нужно явно реализовать очень мало методов доступа.

Для общедоступных методов ответ просто нет, но вы можете скопировать определения методов, а затем просто добавить скобки, чтобы не было большой работы (вам даже не нужно удалять полуточку).

Кроме того, и это работает для обеих переменных и публично определенных методов, начните печатать:

- a 

и Xcode предложит авто пополнений линии для вас с соответствующими именами методов.

3

Getters and setters генерируются неявно компилятором для ваших свойств класса. Например. имеющий

@property int count; 

неявно дает следующие вещи:

1) Ивар имени _count, которая хранит значение свойства.

2) геттер и сеттер

- (int)count 
{ 
    return _count; 
} 

- (void)setCount:(int)count 
{ 
    _count = count; 
} 

Этот код вставляется во время компиляции, и поэтому вы не видите его в файле .m. Это хорошо, потому что таким образом ваш код не загроможден тривиальными получателями и сеттерами. Если вы хотите, чтобы ваш геттер или сеттера, чтобы сделать что-то другое, чем просто установить или вернуть значение, необходимо определить метод обычным способом, например:

- (void)setCount:(int)count 
{ 
    NSLog(@"Count set to %d", count); 
    _count = count; 
} 
Смежные вопросы