Home / Developer  / Newbie  / Beginning  / เขียนแอพ iPhone ภาษา Objective-C เขียนไฟล์ Plist

เขียนแอพ iPhone ภาษา Objective-C เขียนไฟล์ Plist

การเขียนแอพพลิเคชันบน iPhone ด้วย Objective-C กับการเก็บข้อมูลลงไฟล์ข้อมูล Plist เช่นข้อมูลที่ต้องกรอกจากแอพฯ หรือข้อมูลที่ดาวน์โหลดมาเก็บไว้ในเครื่องก่อน

ก่อนจะเข้าสู่การพัฒนาแอพพลิเคชันบน iOS8 เราก็ยังคงมีบทความการพัฒนา Objective-C กับ iOS7 ประกอบกันไปซึ่งบทเรียนนี้มีคนถามหากันบ่อยมากคือการเก็บข้อมูลลงในไฟล์ Plist ของเครื่อง iPhone ของเราครับ

เราจำเป็นจะต้องรู้โครงสร้างระบบไฟล์ในแอพพลิเคชันของเราก่อนว่ามันถูกเรียกมาจากที่ไหน โดยเฉพาะตอนทดสอบนั้นจะต้องรู้ว่ามีไฟลของเราจะไปเก็บไว้ที่ Simulator ของ iPhone คือตำแหน่งอะไร ก่อนจะเริ่มโปรเจ็คนี้ให้เปิด Terminal ขึ้นมาก่อนครับ แล้วพิมพ์คำสั่งนี้ลงไปเพื่อ ให้อ่าน Folder ที่ถูก Hidden หรือถูกซ่อนไว้ก่อนได้

ต่อมาเปิด XCode ขึ้นมาครับ เลือก Single View Application เลยตั้งชื่อให้เรียบร้อย

เปิด Xcode 6 ขึ้นมาครับ

เปิด Xcode 6 ขึ้นมาครับ

เลือก single view application

เลือก single view application

ตั้งชื่อให้เรียบร้อย

ตั้งชื่อให้เรียบร้อย

เปิดไฟล์ ViewController.m ขึ้นมาแล้วใส่คำสั่งต่อไปนี้ ในเมธอด ViewDidLoad();

เราต้องหา Path ของเครื่อง iPhone ของเราก่อน ผ่านคำสั่ง NSSearchPathForDirectoriesDomains เพราะแอพพลิเคชันของเราจะเก็บข้อมูลไว้ใน Folder เป็นรหัสที่เราไม่สามารถจำได้บ่อยๆ นักครับ

ทีนี้เราจะได้ Paths เก็บไฟล์แล้ว เราจะเอานามสกุลต่อท้ายไปเลย คือ .plist เพราะว่า ชื่อที่ระบบจะเก็บคือ Documents ครับ

ข้อมูลที่เราจะเก็บลง Plist ก็คือข้อมูลประเภท Array ดังตัวอย่างนี้ครับ

เก็บข้อมูลลงไฟล์ก็ใช้คำสั่งนี้

ดังนั้นภาพรวมของ ViewController.m ก็จะประกอบไปด้วย Code ตามนี้ครับ

ทดลอง Run ตัวแอพพลิเคชันของเราดู จะเห็นว่า NSLog ของเราจะบอก Paths และชื่อไฟล์เรียบร้อยให้ตามไปดูด้วย Finder ครับ

Run ตัวแอพพลิเคชัน

Run ตัวแอพพลิเคชัน

ใน Folder จะพบไฟล์ .plist ของเราให้ลองเปิดดู

Finder สักหน่อย

Finder สักหน่อย

จะพบว่าข้อมูล Array ของเราถูกเก็บในไฟล์ Documents.plist เรียบร้อยแล้วครับ

โครงสร้างไฟล์ Plist เมื่อคลิกเปิดดู

โครงสร้างไฟล์ Plist เมื่อคลิกเปิดดู

เป็นบทเรียนสั่นๆ ที่เกี่ยวกับการ เก็บข้อมูลโครงสร้าง Plist ไว้ในเครื่องของเราครับ ลองเอาไปลองทำกันดูนะครับ ตัวอย่างง่ายมากๆ Source Code ก็ไม่ต้องมีหรอกเนอะ…

Comments

daydevthailand@gmail.com

<p>อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์<br /> ,ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)</p>

Review overview
%d bloggers like this: