ผมสร้าง Entity ชื่อ item. มี Attribute ชื่อ Price ชนิด (Integer32)
ผมสร้าง Subclass ของ NSManagedObject ได้ไฟล์ .h .m มาพร้อมใช้งานแล้ว
ชื่อว่า INWitem.h
ทีนี้พอเขียนโค้ดใน INWItem.h จนยาวเหยียด ผมพบว่าผมจำเป็นต้องแก้
Price กลายเป็นชนิด " double " แทน integer32
ปรากฎว่าเมื่อผมเปลี่ยนที่ Model.xcdatamodeld
ตัวไฟล์ INWitem.h ไม่ได้อัพเดทจาก integer32 เป็น double ไปด้วย
ถ้าผม generate .h .m ใหม่หมด
ผมก็ต้องก๊อปโค้ดยาวเหยียดที่เขียนมาแล้วไปใส่ .h .m อันใหม่ (INWitem2.h)
มีวิธีที่ทำให้ NSManagedObject เปลี่ยนไปตาม Entity ต้นทางมั้ยครับ
มันไม่ต้องเปลี่ยนนะครับ เพราะทุกอย่างที่เป็นตัวเลขและค่า Boolean จะได้เป็นตัวแปรประเภท NSNumber หมดเลย
แต่ถ้าเกิดว่าจะต้องเปลี่ยนจากประเภทตัวเลขเป็น String เลยนี่ก็มีสองทางเลือกคือก็อบโค้ดไปหรือไม่ก็เปลี่ยนประเภทตัวแปรเองครับ
Blog: https://medium.com/@tanakritsai