我正在构建一个算术应用程序&其中有数字和位数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