كيفية نشر واستقبال NSNotifications (الهدف ج) | الإخطارات (في سريع)؟

StackOverflow https://stackoverflow.com/questions/2676398

سؤال

هل هناك نمط سهل الصراخ كيفية إرسال nsnotification (الهدف C) | الإخطار (في السريع) وكيفية تلقي واحدة؟ قصاصة الكود؟ تكتب المستندات مثل 150 صفحة حول هذا الموضوع. ترغب في رؤية مثال سريع.

هل كانت مفيدة؟

المحلول

أرسل إشعارًا:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MyCacheUpdatedNotification" object:self];

استقبله:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cacheUpdated:) name:@"MyCacheUpdatedNotification" object:nil];

العمل على ذلك:

- (void)cacheUpdated:(NSNotification *)notification {
[self load];
}

والتخلص منه:

[[NSNotificationCenter defaultCenter] removeObserver:self];

نصائح أخرى

نسخة سريعة لنفسه:

كلما احتجت إلى نشر الإشعار:

NotificationCenter.default.post(name: NSNotification.Name(rawValue: "UpdateAccepted"), object: self)

في وحدة التحكم حيث تريد تلقي الإشعار:

override func viewDidLoad(_ animated: Bool) {
    super.viewDidLoad(true) {
    NotificationCenter.default.addObserver(self, selector: #selector(updateAccepted(notification:)), name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
}

deinit {
    NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
}

@objc func updateAccepted(notification: Notification) {
    handleRefresh()
}
  1. قم بالتسجيل للحصول على ملف تعريف إخطار الدفع وإعداده في Heres الخاص بك. رابط للقيام بذلك pushnotification (لاحظ أنك ستحتاج إلى بعض الخادم أو أي شيء يلتقط معرفات Pushon Device من أجل أن تكون قادرًا على إرسال إشعار لتلك الأجهزة)

  2. بعد ذلك ، على افتراض أنك تستخدم خادم Windows أو أي شيء .NET متوافق لأن الخادم الخاص بك ، هناك واجهة برمجة تطبيقات C# لطيفة لإرسال إشعارات الدفع إلى خادم Apple (بمجرد أن يكون لديك شهادة وأجهزة مسجلة لها والتي قمت بتخزينها في الخادم الخاص بك) ، هناك عروض تجريبية هنا حول كيفية استخدامه ، هريس رائع جدا رابط C# دفع إشعار SRC

هذا إلى حد كبير ... لقد أعطيت UA حلًا سريعًا باستخدام تقنية .NET ، إذا كنت تستخدم Somethign آخر ، يمكنك تصفحها لمعرفة ما إذا كانت هناك حلول متوفرة في النظام الأساسي الذي تستخدمه متأكد من أنك ستجد شيئًا ما ، إن لم يكن أنت هل يمكن أن تصنع Alwyas الخاص بك :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top