मुझे एक ऐप मिला है (केवल ios5) कि एक विधि के अंदर एक ब्लॉक के अंदर एक कमजोर चर घोषित करता है जो एक उदाहरण के संदर्भ में उपयोग करता है एक दृश्य नियंत्रक।उद्देश्य-सी एआरसी __weak परिवर्तनीय संदर्भ चेतावनी चेतावनी देता है "__weak विशेषता को स्वचालित चर पर निर्दिष्ट नहीं किया जा सकता है"
__weak विशेषता एक स्वत: चर
कि आवेदन में पर निर्दिष्ट नहीं किया जा सकता है मैं एक बहुत कमजोर संदर्भ का उपयोग किया है:
QRCodeViewController * __weak weakSelf = self;
समस्या
कि संकलक कह एक चेतावनी से पता चलता है और मैंने कभी ऐसा चेतावनी नहीं देखी, अन्य वर्गों का एकमात्र अंतर यह है कि यह वर्ग एक .mm फ़ाइल में कार्यान्वित किया गया है क्योंकि यह एक सी ++ ऑब्जेक्ट का उपयोग करता है और अगर मैं इसे एमएम के रूप में छोड़ देता हूं तो संकलित नहीं हो सकता है।
मुझे कहना होगा कि कोड ठीक काम करता प्रतीत होता है।
कोई सुझाव?
यह '__weak QRCodeViewController * weakSelf = स्वयं नहीं करना चाहिए;'? –
@ मार्टिन या तो एक काम करता है, वे बराबर हैं, आपका तरीका वह है जिसे मैं अक्सर इस्तेमाल करता हूं, लेकिन एंड्रिया का तरीका ऐप्पल द्वारा अनुशंसित किया जाता है। –
इसी तरह के प्रश्न: http://stackoverflow.com/questions/10431110/nested-blocks-and-references-toselfself। जवाब था कि तैनाती लक्ष्य 4.0 पर सेट किया गया था, लेकिन यह आपके लिए मामला नहीं है। सही बात? –