¿Es válido usar el modificador de almacenamiento __weak
en la firma de implementación de un método? ¿Especialmente si no es parte de la firma pública del método? Por ejemplo:Usando __weak para modificar el almacenamiento de un parámetro en la implementación
- (UIView *)tableView:(__weak UITableView *)tableView viewForHeaderInSection:(NSInteger)sectionIndex
{
UIView *view = [ABHeaderView view];
view.actionBlock = ^{
[tableView doSomething];
}
// ...
return view;
}
¿Este Utilizar correctamente tableView
como un puntero débil? ¿O debería hacer algo como __weak *weakTableView = tableView;
y usar weakTableView
dentro del bloque?
No recibo ninguna advertencia o error y el analizador estático no arroja ninguna advertencia.