美文网首页
Swift代理方法的使用

Swift代理方法的使用

作者: Ice丶泽 | 来源:发表于2016-10-28 09:19 被阅读0次

开始之前,先普及一下Protocol协议及委托代理(Delegate)传值,不清楚的可以先看看

1.代理方法

这里先上代码了

①创建一个代理方法

protocol FirstViewControllerDelegate{

fun firstDelegate()

}

上面为swift声明的最简单的一种代理格式

@objc protocol FirstViewControllerDelegate: NSObjectProtocol{

optional func firstDelegate(returnString:String)

}

在这个代理的声明中,可以明显看出,增加了一些额外的修饰符

1》引入@objc是为了引入 optional,用 optional 修饰代理方法,那么这个方法就变成可选方法,无论在代理对象中是否实现,都不受影响。
2》引入 NSObjectProtocol 是因为我们如果想用 weak 修饰代理属性,需要继承自这个类,这里有一篇关于 weak 修饰 Delegate,防止循环引用的文章,不明白的可以看看

②声明一个代理对象

 weak var delegate: FirstViewControllerDelegate?

这里用 weak 修饰,防止循环引用的产生

③触发代理事件

 if self.delegate!.respondsToSelector(Selector("firstDelegate:")){
     self.delegate!.firstDelegate!("delegate")
 }

1》self.delegate!.respondsToSelector(Selector("firstDelegate:"))方法来判断是否有对象执行代理事件
2》self.delegate!.firstDelegate("delegate")触发代理事件

④在代理的实现控制器中引入代理

class ViewController: UIViewController,FirstViewControllerDelegate

与 Object-C 不同,只需要“,”添加即可

⑤实现代理方法

    func firstDelegate(returnString: String) {
        print(returnString)
    }

不知道是不是我的打开方式有问题~在 swift 里边,好多 Object-C 里边的智能补全,在这儿都不管用了自己慢慢打吧

好吧,我也是个 swift 小萌新,如果各位亲友好的解决方法,请告知,在这儿提前谢过了
分享一个我学习 swift 的网站,里面包含了swift里边的一些基础知识,有需要的可以看看

swift 学习资料

相关文章

  • Swift代理

    一、swift代理如何使用?1.定义协议&代理变量&调用代理方法: 2.遵循代理&重写代理方法 二、如果有些代理方...

  • #发现swift3.0# 关于UIImagePickerCont

    使用UIImagePickerController只要设置好代理、写代理方法就行了,但是在swift中编译没有什么...

  • Swift代理方法的使用

    1.代理方法 这里先上代码了 ①创建一个代理方法 上面为swift声明的最简单的一种代理格式 在这个代理的声明中,...

  • Swift代理方法的使用

    开始之前,先普及一下Protocol协议及委托代理(Delegate)传值,不清楚的可以先看看 1.代理方法 这里...

  • Swift代理协议的安全使用

    文章 Swift代理协议的安全使用 概述 在Swift下,使用代理协议,并且检验代理对象的存在和协议函数是否被实现...

  • Swift3.0 Delegate和Block的实现

    Swift3.0 中代理的使用方法一、声明协议1.制定协议 2.用weak定义代理 3.判断代理是否存在,让代理去...

  • swift开发的小坑

    swift 几个比较好的UI库 swift UI库 1.tableView的代理方法 在swift中代理变得更加重...

  • oc程序员学习swift(二)- 协议代理使用

    swift协议代理的使用跟oc的协议代理差不套多,不过语法上还是有不小的区别。swift使用协议的关键字:...

  • Quartz2D - 1

    开源框架CorePlot oc oc使用方法: Swift swift 使用context的方法:

  • swift tableviewCell 删除 和cell的移动

    实现tableview的代理方法 下面需要用到几个tableview的代理方法实现移动 这里最好是用swift里的...

网友评论

      本文标题:Swift代理方法的使用

      本文链接:https://www.haomeiwen.com/subject/qstjuttx.html