كيف يمكنني تعيين خاصية متداخلة إذا كان الكائن يجب أن يلقي؟
-
19-09-2019 - |
سؤال
في طريقتي لتعيين ملصقات في خلاياي (للحصول على JitalView)، أقرأها في "المعرف"، فهذا في الواقع قديم قد أقرأه في عدة أنواع مختلفة من الخلايا. بمعنى آخر:
-(void)setMyCell:(id)cell atIndexPath:(NSIndexPath*)indexPath;
بعض الخلايا هي من النوع العام JestalViewCellStyle في حين أن البعض الآخر أكثر تعقيدا وتحميل بنك الأحد وغيرها من خلال الأقسام المختلفة.
للوصول إلى خاصية نص Uilabel لخلاياي المخصصة، يمكنني أن أفعل شيئا مثل
[(CustomCell*) cell setMyTextLabel:@"text"];
ويمكنني إنشاء طريقة في فئة CustomCell لتعيين نص الملصقات.
للخلايا العامة تسمى الملصق "TextLabel". أعتقد أنني أستطيع أن أفعل شيئا مثل
[(UITableViewCell*) cell setTextLabel:<new UILabel here>];
ولكن يبدو ذلك فوضوي إلى حد ما لأنني بحاجة إلى إنشاء Uilabel جديد.
حاولت
(UITableViewCell*)cell.textLabel.text = @"text";
والتي من شأنها أن تعمل إذا كانت الخلية من الفصل القديم، وليس الهوية، لكنها لا في هذه الحالة.
فهل هناك أي طريقة لتعيين TextLabel.Text دون إنشاء Uilabel جديد؟
المحلول
هل حاولت إضافة فئة إلى UITableViewCell
مع طريقة تغيير التسمية الخاصة بك، ثم تجاوز هذه الطريقة في CustomCell
?