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

Sự khác biệt giữa từ khoá assignretain strong Swift là gì?

Câu trả lời

Trong lập trình iOS với Objective-C, từ khoá assignretain (tương đương với strong trong Swift) được sử dụng để quản lý bộ nhớ và tham chiếu đến các đối tượng. Dưới đây là sự khác biệt chính giữa chúng:

  1. Assign:

    • Assign được sử dụng cho các kiểu dữ liệu nguyên thủy (primitive types) như NSInteger hoặc CGFloat, cũng như các kiểu dữ liệu không phải là đối tượng (non-object types).
    • Khi sử dụng assign, không có việc tăng hoặc giảm bộ đếm tham chiếu (reference count) cho đối tượng được gán.
    • Assign thường không an toàn với việc quản lý bộ nhớ vì nó không giữ một tham chiếu mạnh đến đối tượng, có nghĩa là đối tượng có thể bị giải phóng khỏi bộ nhớ mà biến assign vẫn trỏ đến địa chỉ bộ nhớ đó, dẫn đến lỗi dangling pointer.
  2. Retain/Strong:
    -...

junior

junior

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

junior

Giá trị của 'len' là bao nhiêu? Giải thích?

swift Copy
var array1 = [1, 2, 3, 4, 5]
var array2 = array1
array2.append(6)
var len = array1.count
senior

Tác vụ đồng bộ và bất đồng bộ trong iOS là gì?

senior

Copy on Write (CoW) trong Swift là gì?

Bình luận

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

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