Подтвердить что ты не робот

Короткие и полезные Objective-C фрагменты?

Так как XCode 4, теперь есть раздел фрагментов кода, который предлагает фрагменты через автозаполнение при наборе текста. Я был бы очень заинтересован в фрагментах, которые вы все там сохранили. Какие фрагменты сохраняют вас больше всего (и почему)?

Пожалуйста, публикуйте только фактические фрагменты (что означает, что не snarky "не нужны никакие фрагменты sninkin", и нет "i love snippets, которые делают <XYZ> " ), и только фрагменты, которые являются короткий и сладкий (т.е. не более ~ 20 строк максимум). Если фрагмент явно не полезен, объясните, почему вы так думаете.;)

4b9b3361

Ответ 1

Я не знаю, если это так, но я всегда использую этот фрагмент, когда добавляю UITableView в любом из моих контроллеров.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if(cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
                                      reuseIdentifier:cellIdentifier];
            // Do something here......................
    }
    // Do something here too .........................
    return cell;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return ;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return ;
}

его весьма удобно, если вы не используете UITableViewController для отображения содержимого таблицы.

Ответ 2

Отправка блока в текущей очереди после заданного количества секунд:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, <#seconds#>*1e9),
    dispatch_get_current_queue(), <#block#>);

Ответ 3

Вот мои два комментария. Я использую их много.

Комментарий заголовка:

// ----------------------------------------------------------------------------------------------------------------
# pragma mark -
# pragma mark <#comment#>
# pragma mark -
// ----------------------------------------------------------------------------------------------------------------

Подкомпонент:

// ----------------------------------------------------------------------------------------------------------------
//  <#comment#>
// ----------------------------------------------------------------------------------------------------------------

Ответ 4

Im часто добавляет интерфейсы частного класса с расширениями класса:

@interface <#ClassName#> ()
@end

Это означает, что публичный интерфейс полностью свободен от внутренних вещей, особенно теперь, когда мы можем иметь чисто синтезированные свойства (пример gist).

Ответ 6

В то время как отладка этого фрагмента действительно полезна. Он позволяет вам узнать имя класса, имя функции и вы также можете добавить свои комментарии.

NSLog(@"%s [Line %d] %@ ", __PRETTY_FUNCTION__, __LINE__,<#comment#>);

Ответ 7

Кажется, что нет категории классов между фрагментами factory:

@interface <#ClassName#> (<#CategoryName#>)
@end

Ответ 9

У меня также есть стандартные методы жизненного цикла представления в моих фрагментах (которые используются ежедневно):

Я использую сочетание клавиш v w a для

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear: animated];


}

v d l для viewDidLoad и т.д.