8、数据视图的数据供给与协议使用

UITableView与UICollectionView数据源详解

数据视图的数据供给与协议使用

1. 弱引用与协议定义

在对象引用方面,存在一种情况,即对象 A 对对象 B 有一个弱可选引用。当对象 B 收到 dealloc 消息时,这个弱引用会允许对象 B 被释放。由于对象 A 将其作为可选属性引用,所以对于对象 A 来说,对象 B 变为 nil 是完全合法的。

协议在编程中起着重要作用。协议是对象承诺实现的方法列表,这些方法有时是必需的,有时是可选的。如果一个协议方法是必需的,采用该协议的对象必须实现它,否则编译器会报错,项目无法构建。而可选方法则可以选择实现,编译器不会因为其缺失而发出警告。

协议可以在独立的协议头文件中定义,也可以在类本身中定义。它们以方法列表的形式呈现,由 @protocol 编译器指令标记,列表分为 @required @optional 部分。例如 UITableViewDataSource 协议:

protocol UITableViewDataSource : NSObjectProtocol {

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值