пятница, 15 мая 2015 г.

Как создать Xcode snippet

Создание своего Xcode snippet


Безусловно, использовать Snippet'ы очень полезно и удобно. Большой набор snipet'ов есть в библиотеке Xcode и вы уже часто их используете. Однако, набор этот весьма ограничен, потому есть смысл создавать, настраивать и использовать именно свои snippet'ы, подходящие под задачи с которыми сталкиваетесь именно Вы.  
Итак, 
  1. Напишите Ваш часто используемый кусок кода (snippet).
  2. Откройте "Code Snippet library"( для этого откройте панель утилит и нажмите на { }).
  3. Выделите ваш будущий snippet в коде и перетяните его в библиотеку snippet'ов. (Если перетянуть не выходит - попробуйте после выделения нажать на выделенный кусок и подержать курсор около секунды, после - не отрывая курсора, тяните). 
  4. Введите заголовок в поле title в открывшемся окне. 
  5. Введите shortcut для вашего куска кода(используйте что-то осмысленное, связанное с кодом и легко запоминающееся; также можно добавить префиксные буквы вроде US для того, чтобы легче находить среди библиотечных Ваши snippet'ы). Shortcut  - это ключевые слова, с помощью которых Вы будете добавлять свой snippet во время работы.  
  6. Выберите платформу и язык. 
  7.  Выберите в поле  completion scope область где будут доступны ваши snippet'ы (top level - вне всего, class implementations - в имплементации класса и т.д.) 
  8.  Теперь подкорректируйте ваш отрывок кода, чтобы использовать его часто, например с использованием placeholders. Сами плейсхолдеры в Xcode добавляються с помощью <# #> тегов,  т.е. <#your_placeholder_name#> превратиться в удобный холдер, к которому можно перепрыгнуть нажатием tab. 

Вот несколько примеров, которые Вы уже можете добавить себе в snippet'ы:

1)
@property (nonatomic, strong) NSArray *<#data#>Array;
Добавляем массив как свойство класса. Остается только ввести имя массива.

2)
- (UITableViewCell *)tableView:(UITableView *)tableView 
                cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
   <# cell class #> *cell = [<# cell class #> cellForTableView:tableView];
   return cell;
}
Добавляем  ячейку в метод делегата UITableView, вводим имя класса ячейки. 

3)
UIBarButtonItem *<#button#> = [[UIBarButtonItem alloc] initWithTitle:<#title#>   
                                                                                                             style:UIBarButtonItemStylePlain
                                                                                                            target:self
                                                                                                            action:@selector(<#method#>)];  
self.navigationItem.<#left_or_right#>BarButtonItem = <#button#>;

Добавляем кнопку на navigationbar.

Используйте snippet'ы, это сэкономит Вам время на разработку!