博客> iOS常见问题
iOS常见问题
2019-05-24 18:38 评论:0 阅读:158 anpengtao_ios
pch 宏定义

weak和assign的区别

weak

只可以修饰对象。 weak 不会产生野指针问题,因为weak修饰的对象释放后(引用计数器值为0)自动被置为nil,之后再向该对象发送消息也不会崩溃。

assign

可以修饰对象和基本数据类型。 如果修饰对象,会产生野指针问题;如果修饰基本数据类型则是安全的。修饰的对象释放后,指针不会被自动置空,此时向对象发送消息会崩溃。

assig适用于基本数据类型int float struct等类型,会被放入栈中,先进后出。 weak适用适用于 delegate ,不会导致野指针,也不会造成循环引用

iOS响应链和事件传递

UIResponder 响应者对象。只有继承UIResponder的类,才能处理事件。

UIApplication,UIView,UIViewController都是继承自UIResponder类,可以响应和处理事件。CALayer不是UIResponder的子类,无法处理事件。

问题

问题

解决方法

问题

解决方法

问题

解决方法

问题

解决方法

问题

解决方法

问题

解决方法

问题

解决方法

问题

解决方法

问题

解决方法

收藏
0
sina weixin mail 回到顶部