1、创建控件的几种方式:
- 纯代码创建
- Xib创建
- Storyboard创建
2、纯代码创建View时的生命周期
-(void)loadView;
-(void)viewDidLoad;
-(void)viewWillAppear:(BOOL)animated;
-(void)viewWillLayoutSubviews;
-(void)viewDidLayoutSubviews;
-(void)viewDidAppear:(BOOL)animated;
-(void)viewWillDisappear:(BOOL)animated;
-(void)viewDidDisappear:(BOOL)animated;
-(void)dealloc;
3、控件布局的几种方式
- 绝对布局
Frame的方式
- 相对布局
布局的关键在于通过合理的设置约束,来让控件满足 位置 尺寸 这两个必要条件
Autolayout的方式
- NSLayoutConstraint
- VFL(Visual format language)
- Masonry(第三方框架)
Storyboard的方式
4、页面交互
- 正向传值
- 反向传值的几种方式
- delegate 代理方法
- block 回调
- kvo 观察者
- 单例
5、界面间跳转
栈的方式(NavigationController导航栏控制器)
- pushViewController 跳转到下一个界面
- popViewControllerAnimated 返回
堆的方式(模态跳转)
- presentViewController 跳转至某个界面
- dismissViewControllerAnimated 返回
Storyboard页面间的跳转
- push
- model
前两种方法都需要实现performSegueWithIdentifier方法- custom
UITabBar 选项卡
6、数据存储
- 应用沙盒
plist文件存储 - 偏好设置
NSUserDefaults的应用 - 归档(序列化)
NSKeyedArchiver的使用 - DB(本地数据库)
7、设计模式
- MVC架构
- 单例
- 观察者
- 工厂模式