Xcode4 Автоматическая генерация объявлений @property и всего, что с этим связано - PullRequest
8 голосов
/ 08 апреля 2011

Когда я использовал Xcode 3, я настроил его с помощью perl-скрипта, который я нашел в сети, который позволил мне автоматически генерировать код @property, @synthesize и dealloc для новых переменных экземпляра. Хотя в Xcode 4 нет этого меню пользовательских сценариев.

Есть ли способ подключить эти виды пользовательских сценариев для Xcode 4 или Xcode 4 имеет новую функцию, которая автоматически генерирует эти вещи? (Я посмотрел и не могу найти один, хотя).

Я не говорю о связи с IBOutlets. Я знаю, что могу перетащить из xib, и это создаст все нужные вещи для IBOutlets, но я ищу что-то, что создаст код @property, @synthesize и dealloc для любой переменной экземпляра.

Спасибо, Kenny

Ответы [ 4 ]

3 голосов
/ 08 апреля 2011

Я бы настоятельно (и не могу это подчеркнуть) предложить приложение:

Accessorizer

Это, безусловно, самое полезное приложение для написания кода для Objective-C и Objective-C 2.0, которое я нашел. Первоначально написанная в предыдущие ObjC2.0 дни, она создавала для вас итераторы и сеттеры. С годами он просто продолжает развиваться. Теперь он делает свойства, классы контейнера, кодирование значения ключа, KVO.

Это соответствует вашему стилю: какую строку вы ставите в скобки, как вы делаете отступ, как вы комментируете? Он также устанавливается как служба, поэтому вы можете вызывать его из XCode, копировать в буфер обмена и вставлять обратно в XCode.

Я не автор, я ничего не получаю за это. Тем не менее, я представил его использование каждой команде Mac, над которой работал, и преобразовал в него каждого программиста Obj-C при первом использовании.

У него есть демонстрационный период. Определенно, по крайней мере, попробуйте и посмотрите, решит ли это вашу проблему.

1 голос
/ 24 апреля 2012

Мне удалось заставить упомянутый выше Perl-скрипт Xcode 3 работать под Xcode 4 как поведение.

Я поднял его на github.https://bitly.com/HXHiij

Надеюсь, это поможет.

0 голосов
/ 09 февраля 2012

Мне также не хватает скриптов, связанных со свойствами, но я нашел обходной путь.Как отмечалось в другом месте, XCode 4 будет автоматически генерировать код свойства / синтеза / разборки для IBoutlets, которые подключаются через IB.

Так что в моем проекте есть фиктивный XIB, называемый Property_Hack.XIB с некоторыми UILabels, и всякий раз, когдаМне нужно новое свойство для класса. Я захожу в Property_Hack, меняю владельца и «подключаю» метку к файлу.Все, что вам нужно сделать, это ввести имя ивара, которое вы хотите, и XCode добавит оператор @property в .h, а в .m добавит код @synthesize и dealloc.Затем я изменяю .h (удаляю ключевое слово IBoutlet и меняю UILabel на нужный вам тип данных).

Скорее хакерский и далеко не идеальный, но он все же экономит время по сравнению с ручным изменением обоих файлов.,Поскольку NSIntegers и BOOL не нуждаются в коде освобождения и назначаются, а не сохраняются, я обычно настраиваю их вручную вместо использования этого подхода.Должен ли NSStrings быть скопирован или сохранен - ​​это аргумент, я не буду перефразировать здесь: -)

0 голосов
/ 27 июня 2011

Я еще не тестировал ни один из них, но оба утверждают, что поддерживают Xcode 4:

  1. https://github.com/CraigWilliams/property_synthesize_dealloc
  2. https://public.me.com/dhoerl (перейдите к Xcode /PropertyMaster)
...