Câu hỏi phỏng vấn Swift
Câu hỏi

Sự khác biệt giữa UpcastDowncast trong Swift là gì?

Câu trả lời

Trong Swift, Upcast và Downcast là hai phương thức chuyển đổi kiểu dữ liệu của đối tượng trong cùng một hệ thống phân cấp lớp (class hierarchy). Upcast là quá trình chuyển đổi một instance của subclass (lớp con) thành superclass (lớp cha) của nó. Quá trình này luôn an toàn vì mọi subclass đều là một instance của superclass của nó. Downcast là quá trình ngược lại, chuyển đổi từ superclass xuống subclass. Downcast không phải lúc nào cũng an toàn vì không phải mọi instance của superclass đều có thể là instance của một subclass cụ thể

Swift cung cấp các toán tử as, as?, và as! để thực hiện upcasting và downcasting:

  • Toán tử as được sử dụng cho upcasting, tức là chuyển đổi một instance của subclass lên superclass mà không cần kiểm tra hay xử lý lỗi vì nó luôn đảm bảo thành công
  • Toán tử as? được sử dụng cho downcasting và trả về một giá trị optional. Nếu việc chuyển đổi không thành công, giá trị trả về sẽ là nil. Điều này giúp việc downcasting trở nên an toàn hơn vì bạn có thể kiểm tra giá trị trả về trước khi sử dụng nó
  • Toán tử as! cũng được sử dụng cho downcasting nhưng nó buộc phải giải nén kết quả (force-unwrap). Nếu downcast không thành công, ứng dụng sẽ bị crash. D...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Khi nào sử dụng các tham chiếu strong, weakunowned trong Swift?

middle

Giải thích GCD trong iOS là gì?

middle

Trong Swift, từ khóa required có nghĩa là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào