क्या यह विधि के कार्यान्वयन के हस्ताक्षर में __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
का उपयोग करना चाहिए?
मुझे कोई चेतावनी या त्रुटियां नहीं मिलती हैं और क्लैंग स्टेटिक विश्लेषक किसी भी चेतावनी को फेंक नहीं देता है।