اضبط رقم شارة التطبيق حسب الصفوف في عرض الجدول مع البيانات الأساسية
سؤال
أقوم بتطوير تطبيق يستخدم البيانات الأساسية لحفظ واسترداد البيانات.
الآن أود إضافة رقم شارة على أيقونة التطبيق في الشاشة الرئيسية ولكن لدي بعض المشاكل ...
جربت هذا الرمز:
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 للتأكد من حصولك على شيء ذي معنى.
إذا كان لا شيء أو عودة الصفر ، فلن تظهر شارةك.