• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOSoc和swift中协议的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

创建一个空的工程

在工程中我们新建一个类 继承与NSObject 

定义一个协议‘

@protocol UpdateAlertDelegate <NSObject> //这里的红色字体就是我们定义的协议的名称

- (void)updateAlert;//这个就是如果某个类要遵循此协议必须实现的一个方法,有参数或者无参数视情况而定

 

@end

@interface TimerControl : NSObject

@property (nonatomic, weak) id<UpdateAlertDelegate> delegate;

@end

 

在这个协议类实现的文件里

当需要委托另一个类做一些事情的时候

我们就可以在这个协议类的实现文件里写上这么一行代码

 [self.delegate updateAlert];

 

在要遵循此协议的类里 首先要接受此协议‘

@interface DelegateDemoViewController : UIViewController<UpdateAlertDelegate> 

 

协议对象.delegate = self; //设置代理实例 

 而且还要必须实现此协议规定的一些方法

- (void)updateAlert {//实现协议的方法


也就是说当协议类里的[self.delegate updateAlert];这句代码执行以后 紧接着执行的是遵循此协议的类里面实现的此协议规定的协议方法

 

swift

1.首先定义一份协议。
protocol ToolProrocol{
   //代理方法
   func didRecieveResults(result:Int)
}

2.定义一个代理属性
//声明代理属性
var delegate : ToolProrocol?

3. 实用者,首先加上
class ViewController: UIViewController,ToolProrocol 

4.并且设置代理和实现
  xxx.delegate = self
  func didRecieveResults(result: Int) {
    }

5. 最后直接调用就ok了
self.delegate?.didRecieveResults(1)

虽然有点绕  但事实就是这样  哈哈哈 完事   只要理解了其实你想用的时候自然而然的就写出来了   


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【iOS】SwiftESTabBarController的使用发布时间:2022-07-13
下一篇:
在swift中使用MJRefresh发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap