数据视图的数据供给与协议使用
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)
UITableView与UICollectionView数据源详解
超级会员免费看
订阅专栏 解锁全文
430

被折叠的 条评论
为什么被折叠?



