2010-06-03 38 views

回答

4

CALayer代表了一个与UIView完全不同的“事物”。 CALayer只处理绘图本身,并封装所需的信息。另一方面,一个视图拥有一个或多个图层,它用于绘制图层。一个视图有许多其他的功能和属性,但与它在屏幕上的表示无关。

我会推荐挖掘苹果文档,也许拿起一本关于面向对象编码的书。

+0

对,为什么不直接将图层直接添加到视图的属性? – jasonbogd 2010-06-03 07:17:06

+0

这就是基于对象编码的全部要点。对象应该对定义好的行为部分负责,而不是别的。你所描述的是“上帝对象”的经典案例,并且明显违背了良好的面向对象设计。 http://en.wikipedia.org/wiki/God_object – DougW 2010-06-03 17:50:12