প্রদত্ত:
typealias Action = () -> ()
var action: Action = { }
func doStuff(stuff: String, completion: @escaping Action) {
print(stuff)
action = completion
completion()
}
func doStuffAgain() {
print("again")
action()
}
doStuff(stuff: "do stuff") {
print("swift 3!")
}
doStuffAgain()
completion
পরামিতি (এবং action
) টাইপ করার Action?
এবং রাখার কি কোনও উপায় আছে @escaping
?
প্রকারটি পরিবর্তন করা নিম্নলিখিত ত্রুটিটি দেয়:
@ এস্কেপিং এ্যাট্রিবিউট কেবল ফাংশনের ধরণের ক্ষেত্রে প্রযোজ্য
সরানো হচ্ছে @escaping
অ্যাট্রিবিউট, কোড প্রনয়ন এবং রান কিন্তু যেহেতু সঠিক হতে বলে মনে হচ্ছে না completion
অবসান ফাংশন সুযোগ পলায়নের হয়।
@escaping
অ্যাট্রিবিউট, কোড প্রনয়ন এবং রান" - কারণ বর্ণনা অনুযায়ী যে এসআর-2444 ,Action?
, ডিফল্টরূপে, পলায়নপর হয়। সুতরাং,@escaping
closureচ্ছিক বন্ধ ব্যবহার করার সময় অপসারণ করা আপনার প্রয়োজনীয়গুলি পূরণ করে।