ডাব্লুডাব্লুডিসি 2014 সেশনে 403 ইন্টারমিডিয়েট সুইফ্ট এবং ট্রান্সক্রিপ্ট , নিম্নলিখিত স্লাইড ছিল

সেক্ষেত্রে স্পিকার বলেছিলেন, আমরা যদি [unowned self]সেখানে ব্যবহার না করি তবে এটি একটি স্মৃতি ফাঁস হবে। এর অর্থ কি আমাদের সর্বদা [unowned self]বন্ধের ভিতরে ব্যবহার করা উচিত ?
উপর সুইফট আবহাওয়ার অ্যাপের ViewController.swift লাইন 64 , আমি ব্যবহার করি না [unowned self]। তবে আমি কিছু @IBOutletসের মত self.temperatureএবং ব্যবহার করে ইউআই আপডেট করি self.loadingIndicator। এটি ঠিক হতে পারে কারণ @IBOutletআমি সংজ্ঞায়িত সমস্ত গুলি weak। তবে সুরক্ষার জন্য, আমাদের কি সর্বদা ব্যবহার করা উচিত [unowned self]?
class TempNotifier {
var onChange: (Int) -> Void = {_ in }
var currentTemp = 72
init() {
onChange = { [unowned self] temp in
self.currentTemp = temp
}
}
}
onChangeএকটি [weak self]ক্লোজার হওয়া উচিত , সুতরাং অন্য কোনও বস্তু টেম্পন্টিফায়ার অবজেক্টটিকে চারপাশে রেখে (অনির্দিষ্টকালের জন্য যদি) অবজেক্ট ব্যবহার ভেতরে যেতে দেয়নি যেতে onChangeনা হওয়া পর্যন্ত উদ্ধার অবসান TempNotifierচলে গেছে, নিজস্ব দুর্বল সুত্র মাধ্যমে TempNotifier) । যদি var onChange …হয় private var onChange …তবে [unowned self]সঠিক হবে। আমি যদিও এর 100% নিশ্চিত নই; আমি ভুল হলে কেউ দয়া করে আমাকে সংশোধন করুন।
[]? আমি অ্যাপল ডক্সে ব্যাখ্যাটি খুঁজে পাচ্ছি না।
{}খালি ক্লোজার (বন্ধের উদাহরণ) ডিফল্ট হিসাবে (কোনও কিছু করে না), (Int) -> Voidএটি ক্লোজার সংজ্ঞা।
