ทำความเข้าใจ ARC ของระบบ IOS

สวัสดีครับ วันนี้เราจะมาพูดถึงเรื่องการบริหารจัดการ memory leak ของระบบ ios จะไม่ได้พูดรายละเอียดลงลึกนะครับ เพื่อนๆสามารถหาอ่านเพิ่มเติมได้จาก internet เลยนะครับผม ส่วนสำคัญเลยที่ช่วยจัดการบริหาร memory leak คือ arc ครับ ย่อมาจาก automatic referenc counting ซึ่งจะคอยทำลาย object ที่ไม่ได้ใช้งานให้เราโดยอัตโนมัติ ซึ่งจะจัดการโค้ดในช่วง compile time ไม่ใช่ runtime

หลักการทำงานของ arc ยกตัวอย่างง่ายๆตามในรูปข้างล่างนะครับ ถ้า object มี reference เป็น 0 arc ก็จะ release object นั้นไปครับ โดยการที่ object จะมี reference เป็น 0 มีได้ 2 กรณี คือ

  1. pointer ไม่ได้ชี้ไปยัง object ตัวนั้นแล้ว
  2. pointer มีค่าเท่ากับ nil

อ่านรายละเอียดเพิ่มเติมได้ที่ http://sonnyjr.me/category/swift/