__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 静态分析器不会引发任何警告。