https://www.bilibili.com/video/BV1rb411C7eN?p=6
1 Any
1.1 Any出现的场景:
- 字典中可能出现[Key:Any]
- 方法中作为参数出现,func prepare(for segue: UIStortboard , sender: Any? ) , 这里的any可以指UIButton,tableviewcell等
1.2 as 类型转换
-
as?会将any类型转换成其他类型,如果无法转换,会返回nil
as类型转换 -
as不仅仅针对Any,还可以将向下转换成自己的子类
向下转换
2 NSObject,NSNumber,Date,Data
- NSObject是所有类的父类
- NSNumber是所有数据的总类
- Date是表示时间的数据
-
Data是一包比特数据,用来存储和传输原始数据
image.png
3 View
- init(frame:CGRect) // 用代码初始化UIView
- init(coder:NSCoder) // 用storyboard始化UIView
-
init(coder:NSCoder)是UIView协议中的方法,必须实现,(protocol中的init方法必须被实现,required)
初始化UIView
3.1
- awakeFromNib()当UIView从storyboard中被创建,在完成初始化后会立刻调用这个方法
3.2
- bounds是绝对坐标和大小,frame是相对父视图的坐标和大小
3.3
bounds vs frame- bounds.size 和 frame.size 不一定一样 ,bounds和frame的中心坐标也可能不一样,因为图片可以旋转
网友评论