block和weak修饰符的区别?
__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,也可以修饰基本数据类型
__weak只能在ARC模式下使用,只能修饰对象(NSString),不能修饰基本数据类型
block修饰的对象可以在block中被重新赋值,weak修饰的对象不可以
Frame和Bounds简介
-
frame:以父控件左上角为原点
-
bounds:以自己内容左上角为原点
-
frame和bounds都是描述一块区域
-
frame描述的这块区域:可视范围
-
bounds描述的区域:可视范围在内容范围显示的区域。
-
区域和点一样,不同参照物,描述的区域不同
frame:参照父控件一直不变
bounds:参照内容,位置会变动
其实bounds:x,y可以为其他值
bounds
-
bounds,x,y++,为什么内容往上走,x,y++表示要看下面的内容,内容就会往上移走
-
bounds:以自己内容的左上角为原点,描述可视范围相对内容范围的位置。
weak和assgin
-
ARC下才有weak
-
weak
- __weakx修饰,弱指针,不会让引用计数器+1,对象被销毁指针被清空
-
assgin
- __unsafe_unretained修饰,不会让引用计数器+1,用于基本数据类型 对象被销毁指针不会被清空
网友评论