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

Sự khác biệt giữa strong, weak, readonlycopy trong Swift là gì?

Câu trả lời

Trong Swift và phát triển iOS, strong, weak, readonly, và copy là các từ khóa được sử dụng để xác định cách thức quản lý bộ nhớ và truy cập của các thuộc tính trong một lớp. Dưới đây là sự khác biệt giữa chúng:

Strong

  • Strong là từ khóa mặc định cho các thuộc tính tham chiếu trong Swift và Objective-C. Khi một thuộc tính được đánh dấu là strong, nó tạo ra một tham chiếu mạnh đến đối tượng, nghĩa là đối tượng đó sẽ không bị giải phóng khỏi bộ nhớ miễn là có ít nhất một tham chiếu mạnh đến nó.
  • Sử dụng cho các đối tượng mà bạn muốn giữ lại trong bộ nhớ cho đến khi không còn tham chiếu mạnh nào đến chúng.

Weak

  • Weak được sử dụng để tránh vòng lặp tham chiếu mạnh (strong reference cycles) giữa các đối tượng, điều này có thể dẫn đến rò rỉ bộ nhớ. Một thuộc tính được đánh dấu là weak tạo ra một tham chiếu yếu đến đối tượng, nghĩa là nó không ngăn đối tượng đó bị giải phóng khỏi bộ nhớ.
    ...
middle

middle

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

senior

Sự khác biệt giữa Protocol trong Swift và Interface trong Java là gì?

expert

Giải thích trường hợp sử dụng khi ARC không giúp bạn giải phóng bộ nhớ (nhưng GC sẽ giúp)?

middle

Trong swift, sự khác biệt giữa một computed property và một property gán cho một closure là gì?

Bình luận

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

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