Допустимо ли использование модификатора хранения __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 не выдает никаких предупреждений.