Avatar ·

كيفية استخدام NSNotificationCenter addObserver بشكل صحيح في Swift؟

مرحباً بالجميع! أنا مبتدئ في Swift وأحاول فهم آلية الإشعارات. أحتاج إلى أنه عند تغيير الإعدادات في التطبيق (مثل تغيير اللغة)، يتم إعلام جميع الشاشات النشطة بذلك. سمعت أنه يتم استخدام `NSNotificationCenter` لهذا الغرض، لكنني أواجه مشاكل في استخدامه. إليك الكود الخاص بي: ```swift // إرسال الإشعار NSNotificationCenter.defaultCenter().postNotificationName("LanguageChanged", object: nil) // الاشتراك في الإشعار (في viewDidLoad) NSNotificationCenter.defaultCenter().addObserver(self, selector: "languageChanged:", name: "LanguageChanged", object: nil) // المعالج func languageChanged(notification: NSNotification) { print("Language changed!") } ``` لكن Xcode يعطي تحذيراً: `'addObserver:selector:name:object:' is deprecated`. لاحظت أيضاً أنه إذا لم أقم بإزالة المراقب في `deinit`، فإن التطبيق يتعطل أحياناً. أرجو منكم التوضيح: 1. كيف يتم الاشتراك في الإشعارات بشكل صحيح في Swift الحديث؟