Swift รู้จักกับ strong, weak, unowned Part 4/4 (Unowned)

Ton Attapong
Seekster Development
1 min readApr 14, 2019

ในที่สุดเราก็เดินทางมาถึง unowned มหากาพย์ strong weak unowned กันสักที
unowned จริงๆแล้วคล้ายๆกับ weak เลย แต่!! ต่างกันตรงที่ unowned จะต้องมีค่าเสมอ โดย ARC จะไม่ทำให้ค่าของ unowned เป็น nil นั่นหมายความว่า unowned จะไม่เป็น Optional แน่นวล

ตัวอย่างจากโปรเจคที่แล้วเรื่อง Weak

จะเห็นว่า เมื่อเราเปลี่ยนจาก weak เป็น unowned แล้วนั้น โปรแกรมจะร้องว่าต้องมีค่านะ

มาดูวิธีใช้งานเจ้า unowned กันนะครับ

ใส่ค่าเริ่มต้นให้ unowned ซะ เท่านี้ก็เป็นอันเสร็จเรียบร้อย

ข้อดีของ Unowned ที่ต่างจาก Weak คือ unowned จะมีค่าเสมอซึ่งนั่นทำให้เราไม่ต้องทำ Optional binding หรือมานั่งเช็คว่า เป็น nil หรือเปล่า

--

--