ฉันได้กำหนดตัวควบคุมมุมมองตารางโดยใช้เซลล์คงที่ในฉากสตอรี่บอร์ด มุมมองตารางประกอบด้วยหกส่วน แต่ละส่วนประกอบด้วยเซลล์หนึ่งหรือสองเซลล์ ฉันเขียนข้อมูลไปยังเซลล์จากวิธีนี้ในตัวควบคุมมุมมองของฉัน:
- (void)setUpAllCells
{
//Charge Name
NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:0];
TableViewCellTextField *currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
//Charge Description
path = [NSIndexPath indexPathForRow:1 inSection:0];
currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
...
path = [NSIndexPath indexPathForRow:0 inSection:5];
TableViewCellControl *currentControl = (TableViewCellControl *)[[self tableView] cellForRowAtIndexPath:path];
[currentControl setValue:m_data->trailBurnTime];
}
ซึ่งเรียกมาจาก:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self setUpAllCells];
}
เมื่อฉันเรียกใช้แอปพลิเคชัน แต่ละเซลล์จะตอบสนองตามที่ฉันคาดหวังยกเว้นในส่วนสุดท้าย
เซลล์ของส่วนสุดท้ายไม่ได้เชื่อมต่อกับตัวควบคุมของฉัน และยังคงรักษาค่าเริ่มต้นไว้จากฉากกระดานเรื่องราว ฉันตั้งค่าเบรกพอยต์ใน setUpAllCells และพบว่า cellForRowAtIndexPath กำลังคืนค่าศูนย์สำหรับส่วนสุดท้ายนั้น
ฉันใช้รูปแบบนี้กับตัวควบคุมมุมมองอื่นอีกห้าตัว และไม่เคยเกิดเหตุการณ์เช่นนี้
นี่คือสิ่งที่ฉันได้ลองมาแล้ว:
ฉันทดสอบสิ่งนี้ด้วย TableViewCells ที่กำหนดเองของฉันเอง และเมื่อไม่ได้ผล UITableViewCells มาตรฐาน ส่วนสุดท้ายจะคืนค่าศูนย์เสมอ
ฉันจัดเรียงส่วนและเซลล์ใหม่ ส่วนสุดท้ายจะคืนค่าศูนย์เสมอ
ฉันลบส่วนนั้นออกจนหมด ส่วนอื่นๆ ยังคงใช้งานได้ตามปกติโดยไม่มีมัน
ฉันเพิ่มส่วนเพิ่มเติม สิ่งใดจากส่วนที่ 5 ส่งคืนศูนย์ที่ CellForRowAtIndexPath
ฉันกำลังสูญเสียที่นี่ ฉันไม่รู้ว่าอะไรเป็นสาเหตุของสิ่งนี้
ข้อเสนอแนะ?