سؤال

كلما وصلت إلى رمز الوظائف، أحصل على استثناء يخبرني أن عدد الصفوف قبل وبعد التحديث بحاجة إلى أن يكون هو نفسه. إليك النص الرسمي:

السبب: تحديث غير صالح: عدد غير صالح من الصفوف في القسم 0. يجب أن يكون عدد الصفوف الواردة في قسم موجود بعد التحديث (3) مساويا لعدد الصفوف الوارد في هذا القسم قبل التحديث (3) أو زائد أو ناقص عدد الصفوف المدرجة أو حذفها من هذا القسم (0 إدراج، تم حذف 1).

الرمز الخاص بي هو:

        public override void CommitEditingStyle (UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath)
    {
        if (editingStyle == UITableViewCellEditingStyle.Delete)
        {
            tableView.DeleteRows(new [] { indexPath }, UITableViewRowAnimation.Fade);
    // Remove the step from the set of calculations
    _calculation.Steps.RemoveAt(indexPath.Row);
        }
    }
هل كانت مفيدة؟

المحلول

ربما تحتاج إلى تغيير الرقم الذي تم إرجاعه

- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section

ل indexPath.section أن تكون واحدة أقل من قبل الحذف.

كما أجاب هنا: حذف الصف من تعطل القيمت

نصائح أخرى

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

public override void CommitEditingStyle (UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath)
    {
        if (editingStyle == UITableViewCellEditingStyle.Delete)
        {
          // Remove the step from the set of calculations
           _calculation.Steps.RemoveAt(indexPath.Row);
           tableView.reloadData();
        }
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top