Access Control in Swift
Access Control Modifier เป็น Feature ที่ใครๆ หลายคนตั้งข้อสงสัยว่า ทำไม Apple ไม่ใส่มาตั้งแต่แรก จนมีคนเรียกร้องและ report ไปที่ Developer Forum จนในที่สุด Access Control ก็ถูกใส่มาใน Xcode 6 Beta 4 ซึ่งใน Swift นั้น Access Control จะแบ่งออกเป็น 3 ระดับคือ
- private จะสามารถเข้าถึงเฉพาะ source file เดียวกันเท่านั้น
- internal จะสามารถเข้าถึงได้ในระดับ module เดียวกัน (ลองศึกษาเรื่อง Swift's Module)
- public สามารถเข้าถึงได้จากทุกๆ ที่ที่มีการ import module ที่ประกาศเข้าไป โดยทั่วไปแล้วจะใช้ในกรณีที่เราจะทำ public interface ให้ framework ที่เขียนขึ้น
โดยถ้าไม่ใส่ access control modifier ข้างบน Swift จะใส่ internal ให้โดยอัตโนมัติ ซึ่งจะช่วยให้โค้ดที่เขียนแล้ว ผ่านมาใน beta ต่างๆ ไม่ต้องเปลี่ยนมาก เพราะลักษณะของโค้ดโดยมากแล้วเป็นแบบนี้
Comments
Post a Comment