OC阅读笔记七:委托数据源与协议

来源:互联网 发布:python开发安卓程序 编辑:程序博客网 时间:2024/05/16 23:47

    存放委托对象的属性(delegate)要用weak定义,因为可能委托的对象也持有本对象.二者之间必须为"非拥有关系".避免保留环造成内存泄露.

    根据需求可以选择用weak或unsafe_unretained来定义delegate.

    委托方法即可以传递参数给委托对象,也能获取委托对象的返回值.

    委托协议一般用可选的(optional)标注,在调用委托方法前,必须先确定委托对象是否能响应该选择器.查询方法为"respondsToSelector:".

    如果需要频繁的调用委托方法,可以新增结构体,放入对应委托方法大小为1的位段,在delegate的set方法里用"respondsToSelector:"方法判断结果并保存在结构体.这样每次调用委托方法时,直接查询结构体的标志就可以了.

    


1 0
原创粉丝点击