我正在構建一個算術應用程序&其中有數字和位數NSObject
的子類。它們都具有相應的視圖對象,它們採用數據源(數字或數字)和委託,視圖控制器。作爲模型對象屬性查看
我發現它有助於讓模型的視圖&一起工作,以將數字視圖設置爲其相應數字的屬性。
例如,Number類具有保存其數字的NSMutableArray
屬性。
如果我想找到相應的NumberView尺寸,我寫可以在控制器中這樣寫代碼:
-(void) updateNumberViewFrameSize:(ACNumberView*) sender
{
NSUInteger i;
float width = 0, height = 0;
for (ACDigit* digit in [sender.dataSource returnNumberViewDataSource].digitArray)
{
width += digit.digitView.size.width;
height += digit.digitView.size.width;
}
sender.frame = CGRectMake(sender.frame.origin.x, sender.frame.origin.y, width, height);
}
代碼工作得很好,但我覺得這是不好的做法即使模型本身沒有使用它,也可以將該指針保持爲來自模型的視圖。
如果這是不好的做法,那麼潛在的缺陷是什麼,有沒有更好的方法來達到這種類型的目的?
很好的例子,爲什麼它是錯的。一個視圖可以訪問它的子視圖嗎? – chartman 2013-05-13 13:34:13
@chartman是的,有[查看子視圖]。 – 2013-05-14 07:31:05
你說得對,根據它必須保存的數字來計算數字視圖的大小要好得多,而不是從視圖中獲取數據 – chartman 2013-05-15 01:21:35