我正在构建一个算术应用程序,其中有NSObject
Numbers 和 Digits 的子类。它们都有相应的视图对象,它们接受一个数据源(数字或数字)和一个委托,即视图控制器。
我发现它有助于让视图和模型一起工作以将数字视图设置为其相应数字的属性。
例如,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);
}
代码工作得很好,但我觉得从模型中保存指向视图的指针并不是一个好习惯,即使模型本身没有使用它。
如果这是不好的做法,潜在的陷阱是什么,有没有更好的方法来实现这种类型的结束?