วันอังคารที่ 25 กันยายน พ.ศ. 2555

Xcode Programming X : Property List

หลังจากที่เราได้เรียนรู้การใช้งาน NSArray และ NSDictionary กัไปแล้ว คราวนี้ก็เกิดคำถามขึ้นมาอีกว่า มันมีวิธีที่จะจัดการข้อมูลที่ไม่ต้องการแก้ไขพวกนี้ ที่สะดวกกว่าการเขียน Code หรือไม่ ? มีครับ เพราะฉะนั้นในบทความนี้เราจะมาศึกษาเรื่อง Property List กันครับ

  • นำจาก Project Xcode Programming IX : Navigation Bar Part II มาใช้
  • เพิ่ม File ลงไปใน Project ดังนี้

ตั้งชื่อ แล้วเลือก Create

หลังจากนั้นให้เราเลือก File .plist ที่เราได้ทำการตั้งชื่อไว้



สังเกตได้ว่าจะเป็นตารางข้อมูลที่มี 3 Column ด้วยกัน โดยที่

  • Key ถูกกำหนดให้เป็น Root
  • Type สามารถเลือกชนิดข้อมูลให้เป็น Array หรือ Dictionary
  • Value เริ่มต้นคือ (0 items)

จะสังเกตได้ชัดเจนว่า plist สามารถเก็บข้อมูลแบบ Array และ Dictionary ที่มีข้อมูลเริ่มต้นและไม่ต้องการแก้ไขได้ เพราะฉะนั้นเรามาเริ่มสร้างข้อมูลโปเกม่อนใน plist แทนที่การเขียน Code กันครับ



เลือก Type เป็น Array แล้วกดเครื่องหมาย +

เห็นได้ว่าข้อมูลจะถูกเพิ่มเข้ามา 1 แถวและค่าของ Array ใน Root ถูกเพิ่มเป็น 1 หมายความว่า Value คือจำนวนข้อมูล และแถวที่มีชื่อว่า Item 0 เป็น Index 0 ใน Array ที่มีชื่อว่า Root นั่นเอง

หลังจากนั้นให้เราทำการสร้างข้อมูลตาม แผนภาพแนวคิดในบทความก่อนหน้าได้เลยครับ


สังเกตดูดีๆ นะครับว่าแถวที่เราเพิ่มไปเป็น Index ของ Root หรือ Index ของ Item 0 มีวิธีการง่ายๆครับโดยดูลูกศรของแถวนั้น ก่อนที่จะทำการกดเครื่องหมาย + นั่นเองครับ
  • หากลูกศรตะแคงข้าง แปลว่าเราต้องการเพิ่มข้อมูล ที่มีลำดับชั้นเดียวกันกับแถวนั้นๆ
  • หากลูกศรคว่ำลง แปลว่าเราต้องการเพิ่มข้อมูล ที่มีลำดับชั้นถัดไปจากแถวนั้นๆ

เมื่อเราเพิ่มข้อมูลเสร็จเรียบร้อยแล้วจะได้หน้าตาอย่างนี้ครับ


ใน Array Item 1 และ 2 ด้านล่างภายในก็จะมีข้อมูลของ Dictionary เหมือนกันกับตัวอย่างด้านบนนะครับ ตรวจสอบความถูกต้องของข้อมูลด้วยนะครับ

เมื่อเราได้ข้อมูลใน plist เรียบร้อยแล้วทำเราไปทำการแก้ไข code เพื่อเรียกใช้งานครับ

  • แก้ไข Code ใน initialPokeArray Method ใน viewController.m

หลังจากนั้นลอง Build & Run ดูครับ

พอจะเข้าใจกันมั๊ยครับ บทความนี้พูดโดยสรุปแล้วคือลบ Code ที่เราสร้างใน initialPokeArray Method ทั้งหมดแล้ว ไปสร้าง Property List แล้วทำการเขียน Code เพื่อเรียกใช้งาน แค่นั้นเองครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น