iOS自定义控件开发梳理总结

2020-01-18 17:13:17于海丽

Block

Block封装一段代码,并当做变量进行传递,它十分方便地将不同地方的代码组织在一起,可读性很高。

优点:1,语法简洁,代码可读性和可维护性较高。2,配合GCD优秀的解决多线程问题。

缺点:1,Block中得代码将自动进行一次retain操作,容易造成内存泄露。 2.Block内默认引用为强引用,容易造成循环引用。

通知

代理是一对一的关系,通知是一对多的关系,通知相比代理可以实现更大跨度的通信机制。但接收对象多了,就难以控制,有时不希望的对象也接收处理了消息。

优点:1,使用简单,代码精简。2,支持一对多,解决了同时向多个对象监听的问题。3,传值方便快捷,Context自身携带相应的内容。

缺点:1,通知使用完毕后需要注销,否则会造成意外崩溃。2,key不够安全,编译器不会检测到是否被通知中心正确处理。3,调试时难以跟踪。 4,当使用者向通知中心发送通知的时候,并不能获得任何反馈信息。 5.需要一个第三方的对象来做监听者与被监听者的中介。

总结

至此,开发自定义控件的相关知识梳理了一遍,希望能帮助大家更好地理解自定义控件开发。


注:相关教程知识阅读请移步到IOS开发频道。