UitableViewController لا إعادة رسم تسمية نصية خلية جديدة بعد PopViewControllerAnimated

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

سؤال

لدي مشكلة UitableViewController فشل في إعادة رسم خلية محدثة بعد إزالة عرض الطفل.

هذا ما يحدث. بعد تغيير البيانات في طريقة عرض الطفل ، تقوم وحدة تحكم العرض الأصل بإعادة تحميل مجموعة بيانات المصدر وتشغيلها TableView Reloaddata عن طريق ما بعد التقييم. بعد هذه المشغلات ، أنا أستخدم PopViewControllerAnimated للعودة إلى الوالدين UitableViewController (هذا ينبثق من عرض الطفل من المكدس ، ويكشف وحدة التحكم عن مستوى واحد).

ومع ذلك ، لا تظهر بياناتي المحدثة في وحدة التحكم في العرض الأصل! وفقًا لـ Debugger ، تم تحديث ملصق الخلية ، لكن التسمية المرئية لا تتغير. ومع ذلك ، إذا قمت بالتمرير على الجدول ، فإن تحريك الخلية المحدثة خارجًا عن الرؤية ، عندما يتم ظهوره ، يتم تحديث الملصق!

أحاول أيضًا الاتصال TableView Reloaddata عبر ViewWillAppear لكن القضية لا تزال قائمة.

فيما يلي بعض المعلومات الإضافية التي قد تكون مفيدة. لدي 3 وجهات نظر منظمة مثل هذا:

1/  SettingsViewController : UITableViewController
2/  -- UserView : UITableViewController
3/  ---- UserDetailsView : UIViewController <UIActionSheetDelegate>

أنا أتصل بـ UserDetailsView من Inside Userview على النحو التالي:

 UserDetailsView *userDetailsView = [[UserDetailsView alloc] init];
 [self.navigationController pushViewController:userDetailsView animated:YES];

إذا عدت إلى وحدة التحكم في أعلى أكبر (SettingSviewController) ثم قم بتحميل وحدة التحكم في الإشكالية (Userview) ، يتم رسم كل شيء بشكل صحيح. فقط عند العودة من وجهة نظر الطفل تحدث هذه المشكلة.

شكرا لكم مقدما على اقتراحاتكم.

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

المحلول

أخيرا عملت هذه واحدة بعد حوالي ساعة من الترميز المقترن.

بعد فترة لاحظنا ذلك كان TableView دائمًا لاغية كلما أرسلنا رسالة realoaddata. كما تعلم في الهدف C ، تقبل الكائنات الفارغة أي رسالة دون شكوى.

اتضح أن "شخص ما" (مهم ، آسف كان أنا) قد حدد هذا السطر في ملف الرأس.

 UITableView *tableView;

الآن أنت ملفات تعريف الارتباط الذكية هناك ستعرف ذلك لأننا نوسع UitaleviewController ، لا نحتاج إلى عمل مؤشر إلى Tableview بأنفسنا. في الواقع ، قمت باستبدال عضو الجدول الموروثة مع كائن فارغ.

الغموض حل. نأمل أن يساعد هذا شخص آخر هناك أيضًا! :د

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