ใช้ XCode 4.5 และ iOS 6 ฉันกำลังพัฒนาแอปที่มีมุมมองตารางแบบง่ายพร้อมเซลล์ที่กำหนดเอง ฉันทำสิ่งนี้เป็นร้อยครั้งแล้วใน iOS 5 และต่ำกว่า แต่ด้วยเหตุผลบางประการระบบ autoLayout ใหม่ทำให้ฉันมีปัญหามากมาย
ฉันตั้งค่ามุมมองตารางและเซลล์ต้นแบบใน IB เพิ่มมุมมองย่อยและต่อสายเป็น IBOutlets จากนั้นตั้งค่าตัวแทนและแหล่งข้อมูลของฉัน อย่างไรก็ตามตอนนี้เมื่อใดก็ตามที่ดึงข้อมูลจากเซลล์แรกcellForRowAtIndexPath
ฉันได้รับข้อผิดพลาดต่อไปนี้:
*** การยืนยันล้มเหลวใน - [ShopCell layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776
*** การยุติแอปเนื่องจากข้อยกเว้นที่ไม่ถูกจับ 'NSInternalInconsistencyException' เหตุผล: 'ยังคงต้องใช้เค้าโครงอัตโนมัติหลังจากดำเนินการ -layoutSubviews การใช้งาน -layoutSubviews ของ ShopCell จำเป็นต้องโทรหา super '
ฉันไม่ได้ใช้เมธอด -layoutSubviews ในเซลล์คลาสย่อยของฉัน (ShopCell) และแม้ว่าฉันจะพยายามทำเช่นนั้นและเพิ่มการโทรขั้นสูงตามที่แนะนำฉันก็ยังคงได้รับข้อผิดพลาดเดียวกัน ถ้าฉันลบมุมมองย่อยออกจากเซลล์ใน IB และเปลี่ยนเป็น UITableViewCell มาตรฐานทุกอย่างจะทำงานตามที่คาดไว้แม้ว่าฉันจะไม่เหลือข้อมูลในเซลล์ก็ตาม
ฉันเกือบจะแน่ใจแล้วว่ามีบางอย่างง่ายๆที่ฉันขาดหายไป แต่ไม่พบเอกสารหรือคำแนะนำใด ๆ ที่จะแนะนำสิ่งที่ฉันทำผิด ความช่วยเหลือใด ๆ จะได้รับการชื่นชม
แก้ไข:เพิ่งลองเปลี่ยนเป็น UITableViewCell ใน IB และปล่อยมุมมองย่อยทั้งหมดไว้ แต่ยังคงเป็นข้อผิดพลาดเหมือนเดิม
lldb [[UIWindow keyWindow] _autoLayoutTrace]
ที่พื้นที่ดีบักเกอร์หากใช้รูปแบบอัตโนมัติ