在MVC中,View不應該保存它的數據。但是我知道在Objective-c中你會這樣做:[textField setString:@"hello"];
,該字符串然後被文本字段保留。這同樣適用於textField的字體和文本顏色等。設置簡單文本標籤的文本是否違背了MVC?
但是,UITableView使用數據源向控制器詢問其數據,然後由控制器重新加載表視圖。但它也存儲一些數據本身,如背景顏色。
我可以理解爲什麼UITextView不使用數據源的原因,如果每個屬性必須是方法,代碼將變得更加冗長。但是爲什麼在某些情況下使用數據源而不是其他的,爲什麼不設置一個UITableViewCells數組(我知道這意味着單元不能被重用,所以它會使用更多的內存,但是還有其他什麼設計原因),要顯示的UITableView?
當你創建你自己的對象時,你如何知道在一個視圖中什麼時候存儲少量的通用數據(例如,textview顯示的字符串只能是字符串,但任何字符串本身可以是任何東西)或使用數據源?
'UITableViewDatasource'仍然在視圖元素中設置值,所以這裏沒有任何區別嗎?例如'cell.textLabel.text = @「我在這裏設置一個字符串?」;' – 2012-01-15 02:25:15
@ Paul.s,我知道,我的意思是你不這樣做'[tableView setCells:[NSArray arrayWithObjects:cell1,cell2 ,...,nil];' – 2012-01-15 10:20:18