Использование __weak для изменения хранения параметра в реализации

Допустимо ли использование модификатора хранения __weakв сигнатуре реализации метода? Особенно, если это не часть публичной подписи метода? Например,:

- (UIView *)tableView:(__weak UITableView *)tableView viewForHeaderInSection:(NSInteger)sectionIndex
{
    UIView *view = [ABHeaderView view];
    view.actionBlock = ^{
        [tableView doSomething];
    }
    //...
    return view;
}

Правильно ли используется tableViewкак слабый указатель? Или я действительно должен сделать что-то вроде __weak *weakTableView = tableView;и использовать weakTableViewвнутри блока?

Я не получаю никаких предупреждений или ошибок, и Clang Static Analyzer не выдает никаких предупреждений.

7
задан hypercrypt 15 May 2013 в 20:26
поделиться