NSNotificationCenter یا BroadcastReceiver چیست؟
اپل گفت، مکانیزم ارسال اعلان که امکان پخش اطلاعات را برای ناظران ثبت شده فراهم می کند . گوگل می گوید، برنامههای Android میتوانند پیامهای پخش را از سیستم Android و سایر برنامههای Android ارسال یا دریافت کنند، مشابه الگوی طراحی انتشار-اشتراک . این پخش ها زمانی ارسال می شوند که یک رویداد مورد علاقه رخ دهد. به عنوان مثال، سیستم Android زمانی که رویدادهای مختلف سیستم رخ می دهد، مانند زمانی که سیستم بوت می شود یا دستگاه شروع به شارژ می کند، پخش ها را ارسال می کند. برنامهها همچنین میتوانند پخشهای سفارشی ارسال کنند، برای مثال، برای اطلاع دادن به برنامههای دیگر از چیزی که ممکن است به آن علاقه داشته باشند (مثلاً برخی از دادههای جدید دانلود شده است). چگونه می توانم از اینها در سی شارپ استفاده کنم؟ فوق العاده آسان است. همانطور که گوگل گفت، این ویژگی از الگوی طراحی انتشار-اشتراک استفاده می کند . این بدان معناست که شما یک اقدام را با کلید مشترک میکنید و این کلید را برای همه مشترکینی که در این کلید مشترک شدهاند ، انجام میدهید/اعلان میکنید ، یعنی میتوانید برخی از اقدامات را با کلید انجام دهید/اعلان کنید و برخی از اشیاء را برای انجام یک عمل خاص ارسال کنید . ممکن است با یک مثال توضیح دهید؟ آره! به برنامه ای فکر کنید که از پیام رسانی یا PushNotification پشتیبانی می کند. بنابراین ، هنگامی که یک پیام دریافت می شود، باید اقداماتی را برای نمایش پیام دریافتی انجام دهید یا برخی از داده ها را از پایگاه داده ذخیره یا بخوانید. شما باید پیام را در صندوق ورودی نشان دهید، شماره نشان را در Tabbar یا Toolbar تنظیم کنید، آن پیام را در پایگاه داده ذخیره کنید، و نمای خود را دوباره بارگیری کنید و غیره. بنابراین، شما باید از رویدادها استفاده کنید یا چند کلاس ثابت و رویدادهای ثابت را برای مدیریت همه این اقدامات تعریف کنید. به کد بروید ابتدا بسته NotificationCenter را از NuGet Package Manager نصب کنید یا این دستور را در کنسول NuGet Package Manager اجرا کنید. مشترک شدن در یک اقدام با این کد می توانید در یک اقدام با کلید مشترک شوید. یا اطلاع رسانی/انجام یک اقدام لغو اشتراک روی کلید اگر کلید استفاده نشده ای دارید، بهتر است اشتراک آن را به این شکل لغو کنید، یا
این کتابخانه منبع باز است و در وب سایت GitHub در دسترس است .
اگر شما یک توسعه دهنده iOS یا Android هستید ، باید تجربه ای در استفاده از NSNotificationCenter یا BroadcastReceiver داشته باشید. اما اگر نمی دانید در مورد چه چیزی صحبت می کنم، نگران نباشید، من توضیح خواهم داد که این کلاس ها دقیقاً چه کاری انجام می دهند و چرا و چه زمانی باید از آنها استفاده کنیم.
این کتابخانه کلاس PCL است و می توانید از آن در پروژه های NET Core، Xamarin و UWP استفاده کنید.
پس اکنون، زمانی که پیامی دریافت شد، وقت آن است که مشترکین را از اقداماتشان مانند این کد مطلع کنید.
ممنون که مقاله من را خواندید. امیدوارم این کتابخانه به شما کمک کند تا یک برنامه عالی بسازید.