- New File >> Core Data >> NSManagedObject subclass >> Next >> Create
จะเห็นว่าทุก Entity ใน DataModel จะถูกสร้างเป็น File ขึ้นมาให้เรียกใช้งานแบบ Object ได้
หลักจากนี้ จริงแล้วต้องทำการสร้าง Object สำหรับจัดการเชื่อมการใช้งานระหว่างฐานข้อมูลกับ Code ขึ้น แต่ในบทความนี้มีให้โหลดครับ ผมได้สร้างให้ไว้เรียบร้อย ส่วนคนที่อยากจะทำความเข้าใจลองไปศึกษาเอาเองนะครับว่า Code แต่ละส่วนมีการทำงานอย่างไร สำหรับผมมองว่ามันเกินจำเป็นครับ พูดง่ายๆว่าไม่ว่าจะทำ Project ไหนที่ต้องการใช้ Core Data ก็ใช้ File นี้ในการจัดการทั้งนั้น เพื่อความสะดวกผมเลยเอามาให้โหลดกันดูว่าครับ ( ในอนาคตอาจจะเขียนบทความแยกเพื่ออธิบายวิธีการทำงานนะครับ )
สามารถ Download File ได้ ที่นี่
หลังจากที่ Download เสร็จแล้วทำการแตก File จะได้ File ดังนี้
- DatabaseUtility.h
- DatabaseUtility.m
หลังจากนั้นให้นำ File ทั้งสองเพิ่มเข้าไปใน Project
ถึงตรงนี้แล้วแปลว่าเราพร้อมที่จะทำการเรียกงาน Core Data ที่เราสร้างขึ้นมาแล้วครับ
- แก้ไข Code ใน ViewController.h
![]() |
เข้าใจแล้วนะครับความรู้เก่า ( ใครยังงงอยู่ทบทวนด่วนเลยจ้า ) |
- แก้ไข Code ใน ViewController.m
![]() |
initWithDatabaseName เป็น Method ที่อยู่ใน DatabaseUtility |
## อธิบาย Code ##
ParentData *parentData = [NSEntityDescription insertNewObjectForEntityForName:@"ParentData" inManagedObjectContext:self.databaseUtility.managedObjectContext];
เป็นการสร้าง Object ของ Class ParentData โดยอ้างอิงไปยัง Entity ParentData ใน xDataModel ผ่านการใช้งาน Object managedObjectContext ใน Class databaseUtility
parentData.stringValue = @"Test";
parentData.dateValue = [NSDate date];
parentData.boolValue = [NSNumber numberWithBool:YES];
เพิ่มค่าต่างๆ เข้าไปใน Object ใน Class ParentData
ChildData *childData = [NSEntityDescription insertNewObjectForEntityForName:@"ChildData" inManagedObjectContext:self.databaseUtility.managedObjectContext];
เป็นการสร้าง Object ของ Class ChildData โดยอ้างอิงไปยัง Entity ChildData ใน xDataModel ผ่านการใช้งาน Object managedObjectContext ใน Class databaseUtility
childData.intValue = [NSNumber numberWithInt:1];
childData.doubleValue = [NSNumber numberWithDouble:1.23];
childData.floatValue = [NSNumber numberWithFloat:1.23456];
เพิ่มค่าต่างๆ เข้าไปใน Object ใน Class ChildData
[parentData addChildDatasObject:childData];
เนื่องจาก Relation ของ parentData กับ childData เป็น 1 to Many เราก็ต้องนำข้อมูลใน childData เพิ่มเข้าไปใน parentData
เป็นการดึงข้อมูลจากฐานข้อมูลขึ้นมาแสดงผลใน Log นั่นเองครับ
การตรวจสอบว่าเราได้สร้างฐานข้อมูลขึ้นมาแล้วหรือไม่นะครับ ให้เราไปที่ ชื่อเครื่อง >> Library >> Application Support >> iPhone Simulator >> 6.0 >> Applications >> รหัส App ( ในส่วนนี้ลองหาดูเองนะครับว่าเป็นอันไหน ให้สังเกตชื่อโปรแกรมจาก File ใน Folder นั้นๆดูครับ ) >> Document
จะสังเกตได้ว่ามี File นามสกุล .sqlite ขึ้นมาแล้วครับ นั่นหมายความว่าเราได้ทำการสร้างฐานข้อมูล CoreData ขึ้นมาแล้วนั่นเอง
บทความนี้เป็นตัวอย่างการใช้งาน CoreData ง่ายๆนะครับ แต่เราสามารถนำไปประยุกต์ใช้งานได้เองตามความต้องการเลยนะครับ
database ดาวโหลดไม่ได้แล้วครับ T^T
ตอบลบอยากได้ไฟล์อ่ะครับ ToT
ตอบลบไฟล์โดนลบแล้วอ่าคับ เศร้าา
ตอบลบหาไฟล์นั้นจากไหนอะครับ ขอหน่อย
ตอบลบ