Có hợp lệ để sử dụng công cụ sửa đổi bộ nhớ __weak
trong chữ ký của triển khai phương pháp không? Đặc biệt nếu nó không phải là một phần của chữ ký công khai của phương pháp? Ví dụ:Sử dụng __weak để sửa đổi lưu trữ thông số khi triển khai
- (UIView *)tableView:(__weak UITableView *)tableView viewForHeaderInSection:(NSInteger)sectionIndex
{
UIView *view = [ABHeaderView view];
view.actionBlock = ^{
[tableView doSomething];
}
// ...
return view;
}
Điều này có sử dụng đúng cách tableView
làm con trỏ yếu không? Hoặc tôi có nên thực sự làm điều gì đó như __weak *weakTableView = tableView;
và sử dụng weakTableView
trong khối không?
Tôi không nhận được bất kỳ cảnh báo hoặc lỗi nào và Công cụ phân tích tĩnh điện tử không ném bất kỳ cảnh báo nào.