मुझे एक समस्या को समझने में कठिनाई हो रही है। सरलीकृत करने के लिए, मैं UIView विधि का उपयोग करूंगा। असल में, अगर मैं विधिस्विफ्ट पूर्णता ब्लॉक
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
println("test")
})
बारे में यह ठीक काम करता है। अब, मैं एक ही विधि, लेकिन इतना इस तरह की स्ट्रिंग बनाने करते हैं:
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
String(23)
})
यह कार्य करना बंद कर। कंपाइलर त्रुटि: कॉल में पैरामीटर 'देरी' के लिए गुम तर्क
अब, यह अजीब हिस्सा है। अगर मैं एक है कि विफल रहता है के रूप में ठीक उसी कोड है, लेकिन सिर्फ इसलिए की तरह एक प्रिंट आदेश जोड़ें:
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
String(23)
println("test")
})
इसे फिर से काम करने के लिए शुरू होता है।
मेरी समस्या मूल रूप से वही बात है। मेरा कोड:
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
}
काम नहीं करता है। लेकिन अगर मैं बदल जाता हूं।
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
println("test")
}
या यहाँ तक कि:
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
self.delegate?.imageDownloader(self, posterPath: posterPath)
}
यह ठीक काम करता है। मुझे समझ में नहीं आ रहा है कि यह क्यों हो रहा है। मैं स्वीकार करने के करीब हूं कि यह एक कंपाइलर बग है। जब वे केवल एक एकल अभिव्यक्ति के बने होते हैं स्विफ्ट में
धन्यवाद। लेकिन अगर मैं स्ट्रिंग (23) जोड़ता हूं और उसी पंक्ति को दोबारा कॉपी करता हूं तो स्ट्रिंग (23); स्ट्रिंग (23); ? – Wak
मैं वास्तव में जवाब में स्पष्ट करने के बीच में था। संपादन देखें। –
इस उत्तर के लिए धन्यवाद; मुझे यह समझने में मदद मिली कि मुझे एक अजीब क्यों मिला "एनिमेट नहीं कर सकता" विथडिशन 'प्रकार की तर्क सूची ... "त्रुटि। फिक्स आउट ठीक वही था। – SonarJetLens