swift 协议Protocol的基本用法
2017-07-25 16:17
501 查看
protocol(协议)用户统一方法和属性的名称,而不实现任何功能,我相信很多学过ios的对protocol都不会陌生,swift中的protocol不仅定义方法还能定义属性。本文简单的实现了swift协议方法的具体方法,只是想记载一下,如果还要更深入的了解protocol方法,可以看看swift中的官方文档。下面就是protocol的具体代码的一些实现。
// PersonViewController.swift(制定协议)
//第一步:制定协议
protocol Didtableviewcellselect :
class {
//第二步:制定协议方法,可以选择不传参数,如果不参数,括号里面就为空
func didSelectcellindex(indexpath:NSIndexPath)
}
//第三步:在class类里面 声明协议
weak
var delegate:Didtableviewcellselect?
//第四步:在你需要的方法里面调用协议方法
func tableView(_
tableView: UITableView, didSelectRowAt indexPath:
IndexPath) {
//调用你要实现的协议方法,传参数
delegate?.didSelectcellindex(indexpath:
indexPath <
a723
/span>as
NSIndexPath)
}
// MainViewController.swift(实现协议类)
let personVC =
PersonViewController()
//第五步:在你需要实现协议的类里面遵守协议
personVC.delegate =
self;
//最后一步:实现协议方法,可以选择利用swift的extension的属性
extension
MainViewController:Didtableviewcellselect{
//协议回调方法
func didSelectcellindex(indexpath:
NSIndexPath) {
//具体实现内容,根据需要实现
self.collectionView?.backgroundColor
= UIColor.red
}
}
如果想要了解更多协议的协议的方法,可以看看这个: http://www.cocoachina.com/swift/20161219/18376.html
// PersonViewController.swift(制定协议)
//第一步:制定协议
protocol Didtableviewcellselect :
class {
//第二步:制定协议方法,可以选择不传参数,如果不参数,括号里面就为空
func didSelectcellindex(indexpath:NSIndexPath)
}
//第三步:在class类里面 声明协议
weak
var delegate:Didtableviewcellselect?
//第四步:在你需要的方法里面调用协议方法
func tableView(_
tableView: UITableView, didSelectRowAt indexPath:
IndexPath) {
//调用你要实现的协议方法,传参数
delegate?.didSelectcellindex(indexpath:
indexPath <
a723
/span>as
NSIndexPath)
}
// MainViewController.swift(实现协议类)
let personVC =
PersonViewController()
//第五步:在你需要实现协议的类里面遵守协议
personVC.delegate =
self;
//最后一步:实现协议方法,可以选择利用swift的extension的属性
extension
MainViewController:Didtableviewcellselect{
//协议回调方法
func didSelectcellindex(indexpath:
NSIndexPath) {
//具体实现内容,根据需要实现
self.collectionView?.backgroundColor
= UIColor.red
}
}
如果想要了解更多协议的协议的方法,可以看看这个: http://www.cocoachina.com/swift/20161219/18376.html
相关文章推荐
- 【Objective-C】OC中协议(Protocol)的基本概念和用法
- 【Objective-C】OC中协议(Protocol)的基本概念和用法
- OC 协议(Protocol)的基本概念和用法
- 协议(Protocol)的用法和代码例子
- Wireshark基本用法---分析网络协议报文
- swift:使用协议protocol设置颜色,UIImage的切圆角ImageWithCornerRadius
- Swift_协议、代理(protocol、delegate可选@objc optional与必需、协议扩展、is as? as!检查协议)
- Swift - UIAlertController基本用法
- Swift之协议( protocol)
- swift protocol 协议代理的使用以及解决循环引用问题
- Swift3 GCD的基本用法(一) - 任务和队列、服务优先级、信号量
- Swift - 协议(protocol)
- 黑马程序员-⑧bolck类型和协议protocol的用法
- swift-元组的基本用法
- Swift学习之UILabel基本用法
- 协议(Protocol)的用法和代码例子
- Swift -- 结构体、类、枚举继承protocol协议
- Scrollview的基本用法和协议
- swift3新路程(10)协议protocol和扩展extension