项目前准备1

3. 项目准备

class,superclass,self,super的区别
          1.class,superclass,self,super的区别:class:获取方法的类对象,superclass:获取方法的父类对象,self:当前对象去获取当前调用方法:super:本质是当前对象方法调用父类方法

         *2.NSLog(@"%@ %@ %@ %@",[self class], [self superclass], [super class], [super superclass]);结果:subpersion,person,subpersion,person
恶心BUG

    1.多添加了相同文件或没关联时出的BUG:到Build phases—>complaint Source中删除或添加文件

4. Const

const与宏的区别
     1.区别4点:1.编译时刻:宏是预编译的,const是编译时刻的,2.编译检查:宏不会报编译错误,const会,3.宏可以定义函数与方法,const不行4.大量使用宏,编译时刻会过长
const的简单使用
           1.const写在指针前与变量名旁边的区别:const p:p的值不能变,const int *p或int const *p:*p不能变,
const的使用场景
           1.替换宏,把一些常见的变量,变成只读
           2.方法参数,传入一个地址,不允许在内部改外部的值
static和extern使用
           1.static作用修饰:局部变量,用于延长生命周期,只会分配一次,全局变量,只能在当前文件夹下使用
           2.extern作用:声明全局变量,不能定义全局变量
extern和const联合使用
           1.exter和const联合使用的作用:提供外接一个不可以改变的成员属性
           2.exter和const规范:全局变量不能定义在自己的文件下,防止大家取一样的名字报错,搞一个专门的文件管理
5.  父子控制器

项目步骤
           1.搭建界面2.界面业务逻辑处理,跳转页面3.每个界面喝多业务逻辑,用一个控制器去管理,自定义控制器
什么是父子控制器
            1.把A控制器的view添加到B的控制器的view,那么A控制器要成为B控制器的子控制器
            
父子控制器的好处
             1.不用每次都创建控制器,控制器不会被销毁,不会每次添加view
             2.(只有导航控制器的子控制器才能拿到self.navigationController,拿到了self.navigationController,才能push)       
             3.self.navigationController,判断自己是不是导航控制器的子控制器,如果不是自己的父控制器,继续判断,直到没有父控制器
             4.用dismiss时会判断当前控制器是不是modal,是就dismiss,不是就会判断父类是不是modal,是就dismiss
             5.小小项目:创建3个子控制设置标题—>根据创建标题的数量添加到btn按钮上—>点击时根据控制器的btn按钮上的标记拿到每个控制器的view设置尺寸大小
UIScrollerView的自动布局
             1.设置view的约束来控制UIScrollerView的滚动区域
Size和center
             1.先设置尺寸,在设置center,前提size从frame中获取,在bounds中获取就不用考虑到顺序.

posted @ 2016-01-12 23:08  谢云  阅读(122)  评论(0编辑  收藏  举报