// UILabel 用于显示文本的控件 继承于UIView,相比UIView,UILabel类添加了控件的外观,提供了显示文字的功能 //创建UI控件的步骤: //1.创建控件(alloc 初始化方法) UILabel *userNameLabel=[[UILabel alloc]initWithFrame:CGRectMake(30, 30, 100, 30)]; //2.对控件进行设置 //3.添加到父视图上 //4.释放
Category 类目 :为没有源代码的类添加方法
好处:扩展别人的类,作为子类的替代方式:把一个类的代码放到多个文件中,便于多人协作。
注意:不能再类目中添加实例变量;可以为同一个类添加多个类目,但类目名和类目中的方法不要重复;不要随意重写原始类中的方法;类目中的方法会成为原始类的一部分,级别相同,会被子类继承。
extension 延展
延展是特殊的类目,在类的.m文件中声明以及实现
作用:为自己的类定义私有方法
注意:在ios中,没有绝对的私有方法
私有方法是.h不声明,.m实现
不写延展名字,就是原始类,必须实现。原类可以加变量
如果提供了延展名称 则可以选择性实现
protocol 协议
协议是一堆方法的声明 没有任何实现.m
main.m是程序的入口
UIApplicationMain创建应用程序对象,并且为此对象指定委托,监测程序的执行,同时开启事件循环,处理程序接收到的事件。
UIApplicationDelegate 方法的执行
加载window
指定根视图控制器
每一个程序都是:UIApplication或子类的实例
UIApplicationDelegate是个协议,定义了一堆监测程序执行的方法。这些方法都有自己的触发条件
通常我们不会再window上添加视图,
UIViewController:视图控制器,意如其名。
负责Model与View的通信
检测设备旋转以及内存警告
是所有视图控制器的基类,定义了控制器的基本功能
viewController的两层循环:
一层循环 :loadView viewDidLoad didReceiveMemoryWarning
二层循环:viewWillAppear viewDidAppear viewWillDisappear viewDidDisappear
loadView 只调用一次
viewDidLoad 试图加载之后被调用 只调用一次
initWithNibName:bundle: 指定初始化方法
Category 类目 :为没有源代码的类添加方法
好处:扩展别人的类,作为子类的替代方式:把一个类的代码放到多个文件中,便于多人协作。
注意:不能再类目中添加实例变量;可以为同一个类添加多个类目,但类目名和类目中的方法不要重复;不要随意重写原始类中的方法;类目中的方法会成为原始类的一部分,级别相同,会被子类继承。
extension 延展
延展是特殊的类目,在类的.m文件中声明以及实现
作用:为自己的类定义私有方法
注意:在ios中,没有绝对的私有方法
私有方法是.h不声明,.m实现
不写延展名字,就是原始类,必须实现。原类可以加变量
如果提供了延展名称 则可以选择性实现
protocol 协议
协议是一堆方法的声明 没有任何实现.m
main.m是程序的入口
UIApplicationMain创建应用程序对象,并且为此对象指定委托,监测程序的执行,同时开启事件循环,处理程序接收到的事件。
UIApplicationDelegate 方法的执行
加载window
指定根视图控制器
每一个程序都是:UIApplication或子类的实例
UIApplicationDelegate是个协议,定义了一堆监测程序执行的方法。这些方法都有自己的触发条件
通常我们不会再window上添加视图,
UIViewController:视图控制器,意如其名。
负责Model与View的通信
检测设备旋转以及内存警告
是所有视图控制器的基类,定义了控制器的基本功能
viewController的两层循环:
一层循环 :loadView viewDidLoad didReceiveMemoryWarning
二层循环:viewWillAppear viewDidAppear viewWillDisappear viewDidDisappear
loadView 只调用一次
viewDidLoad 试图加载之后被调用 只调用一次
initWithNibName:bundle: 指定初始化方法