Một trong những nguyên tắc chính của MVC là số lượt xem không bao giờ dữ liệu của riêng mình. Nguyên tắc này được lặp đi lặp lại nhiều lần trong phiên WWDC 116. Nhưng tại sao UIImageView
(xem) sở hữu UIImage
(một mô hình)? Nó không vi phạm các nguyên tắc trên?Tại sao UIImageView sở hữu UIImage. Liệu nó vi phạm nguyên tắc MVC?
Hoặc tôi có hiểu nhầm bất cứ điều gì ở đây không? Có lẽ chỉ vì UIImageView
có thuộc tính image
không có nghĩa là nó sở hữu UIImage
?
Vì vậy, nó có nghĩa là UIImageView sẽ không bao giờ trực tiếp thay đổi UIImage, để lại công việc đó cho một UIController phải không? Có ý nghĩa, thanks =) –
Nhưng tại sao UIImageView cần giữ lại hình ảnh? Nó chỉ cần hình ảnh mà thời điểm nó vẽ chính nó để màn hình phải không? –
UIImageView cần tham chiếu đến hình ảnh vì nó có thể cần vẽ lại chính nó và dữ liệu cần làm đó là hình ảnh. Nếu nó không giữ lại hình ảnh, sau đó hình ảnh có thể dễ dàng được deallocated bất cứ lúc nào, và xem sẽ được trái với một con trỏ không hợp lệ (và có thể sụp đổ). Nó giữ lại hình ảnh mà nó đang sử dụng cho đến khi ai đó bảo nó sử dụng một số hình ảnh khác thay thế. – Caleb