প্রদত্ত:
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?, ডিফল্টরূপে, পলায়নপর হয়। সুতরাং,@escapingclosureচ্ছিক বন্ধ ব্যবহার করার সময় অপসারণ করা আপনার প্রয়োজনীয়গুলি পূরণ করে।