Biến strong, weak khác nhau thế nào?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
331 lượt xem

Strong pointer trỏ đến một đối tượng và sở hữu đối tượng đó (quyết định đến sự tồn tại của đối tượng), còn weak pointer trỏ đến một đối tượng nhưng chỉ tham chiếu giá trị của đối tượng đó (không quyết định đến sự tồn tại của đối tượng).

Với mỗi biến strong trỏ đến 1 đối tượng thì retainCount của đối tượng sẽ tăng thêm 1, còn biến weak thì không tăng retainCount. Khi retainCount của đối tượng về 0 thì đối tượng đó sẽ bị hủy, và con trỏ weak lập tức được set bằng giá trị null.

Câu hỏi tiếp theo: Khi nào nên dùng thuộc tính weak?
{{login.error}}