__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スタティックアナライザは警告をスローしません。