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

Trong iOS, bạn xử lý bộ nhớ như thế nào để tránh retain cycle khi dùng closures?

Câu trả lời

Để tránh retain cycle khi sử dụng closures trong iOS, bạn cần sử dụng từ khóa [weak] hoặc [unowned] để khai báo các weak reference đến self bên trong closure.

Khi một closure giữ một strong reference đến một đối tượng, và đối tượng này cũng đồng thời giữ một strong reference đến closure, sẽ tạo nên một retain cycle, dẫn đến việc cả hai không thể được giải phóng khỏi bộ nhớ.

[weak self] được sử dụng khi bạn muốn đối tượng bên trong closure có thể được giải phóng khi không còn được sử dụng, vì self có thể bằng nil nếu đối tượng bị giải phóng. **[u...

middle

middle

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

middle

AutoLayout là gì? Điều đó có nghĩa là gì khi một constraint bị phá vỡ bởi iOS?

middle

Giải thích cách autorelease hoạt động ở runtime level trong iOS?

senior

Khi lập trình iOS với SwiftUI, bạn xử lý state và logic phức tạp như thế nào?

Bình luận

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

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