本帖最后由 z364153683 于 2012-03-29 14:55:09 编辑

解决方案 »

  1.   

    还有,请问
    另一个页面,lable非常多,而且都不会去动他们。
    我还是想这样
    UILabel* descriptionLable6=[[[UILabel alloc] initWithFrame:CGRectMake((imageView6.frame.origin.x), (imageView6.frame.origin.y)+82, 98, 16)]autorelease];定义,没有问题吗。
      

  2.   

    如果样式一样,你可以写成一个UILable的扩展类,或者就直接写成MYLable类,每次要使用就create一个label,修改label的属性即可。
      

  3.   

    考虑循环 动态加载
    那,如果界面是上百个UILable,你还有重复写100次?几行代码不就搞定了嘛
      

  4.   


    知道了,谢谢各位。我现在是开始用MyLabel动态添加了
    还有就是请问一下,我每个Label都autorelease。一个页面四五十个。会不会有什么不妥啊?还是就是这样的呢。
      

  5.   

    在不同的场合里,封装不一定是十全十美的解决方案。LZ开发的是一个具体的项目,在项目通常会因为业务的需要制作很多界面和界面上的子元素。而项目最大的一个特点就是易变性,而这种变化也是很难预料和控制的。在遇到这样的问题时,第一个思路就是对变化进行封装,用OOP的思想应对重复的工作。但是还有下面几点问题需要考虑:
    1:程序里像这样的窗口多吗,如果不多的花,窗口里包含的10多个组件以手动的方式也是很快就能建好的。
    2:创建一个自定义的组件的功能一定要是完善的,否则所以依赖它的组件都会不能使用
    3:创建一个自定义组件的时间和难度会比手动创建10多个组件要更长的时间,和维护时间
    4:手动建立10个组件能更方便独立扩展,一旦其中某个组件需要特别的功能时,已建立好的自定义组件就需要扩展,而这种扩展就会带来BUG。上面的第4条是手动放置组件的有点。
    不同的环境里可以综合考虑周围的环境和条件,以次作为选择解决方案的依据,不能一味的最求某种技术的滥用。在实际的开发项目里也是存在因组件封装不完善而照成项目开发难度的情况。
    Object-C使用委托来替代继承,本人觉得是否就是一种因继承滥用而出现的解决方案呢?(个人愚见)