Optional Protocol trong Swift

Optional Protocol trong Swift

Chào các bạn, hôm nay mình xin giới thiệu với các bạn các bước triển khai Optional Protocol trên Swift mà mình tìm hiểu được:

1. Thông qua Objective-C

Đây là cách đơn giản nhất vì XCode sẽ tự động gợi ý cho bạn thêm “@objc” khi bạn thêm Optional vào trước function của Protocol và trên khai báo Protocol:

Cách này đơn giản vì XCode sẽ gợi ý cho chúng ta, nhưng có một số nhược điểm:

  • Protocol này chỉ áp dụng cho “class-type” hiểu nôm na là struct không sử dụng được.
  • Protocol này chỉ chạy được trên những môi trường hổ trợ cả Swift và Objective-C như MacOS, iOS, tvOS. Còn trên những môi trường thuần Swift thì không chạy được ví dụ như Vapor.

2. Thuần Swift thông qua Extension

Cách này mình sử dụng Extension để khai báo Function mặc định cho Protocol nên khi sử dụng Protocol thì mình không nhất thiết phải triển khai Function đã triển khai trong Extension:

Cách này thì không phải thêm Optional vào function cũng không cần gán “@Objc”, chỉ cần triển khai Function đó trong Extention là được.

Cách này sử dụng được cho cả class và struct và tất cả môi trường hỗ trợ Swift.