اضبط رقم شارة التطبيق حسب الصفوف في عرض الجدول مع البيانات الأساسية

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

سؤال

أقوم بتطوير تطبيق يستخدم البيانات الأساسية لحفظ واسترداد البيانات.

الآن أود إضافة رقم شارة على أيقونة التطبيق في الشاشة الرئيسية ولكن لدي بعض المشاكل ...
جربت هذا الرمز:

NSInteger section = [self.tableView numberOfSections];
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:[sectionInfo numberOfObjects];

هذا الرمز لا يعمل ولكني لا أعرف كيفية القيام بذلك ...
ما الرمز الذي يجب أن أكتبه وأين؟ داخل AppDelegate أو RootViewController؟ وبأي طريقة؟

شكر جميعا للمساعدة!

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

المحلول

NSInteger section = [self.tableView numberOfSections];

هذا ليس رقم قسم صالح ؛ ينتقلون من 0 إلى عدد الأجزاء 1.

نصائح أخرى

NSInteger section = [[self tableView] numberOfSections];

هذا سيعود 1 أو أكثر. ليست قيمة لتوصيلها [[[self fetchedResultsController] sections] objectAtIndex:section]. يجب أن تعطيه قسمًا فعليًا (صفر أو أكثر) وليس إجمالي عدد الأقسام.

بالإضافة إلى ذلك ، يمكنك وضع نقطة توقف في مهمتك sectionInfo متغير وتأكد من أنك لا تحصل على عودة. يمكنك أيضًا وضع تصحيح بعد SectionInfo للتأكد من حصولك على شيء ذي معنى.

إذا كان لا شيء أو عودة الصفر ، فلن تظهر شارةك.

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