OC控件的代理方法步骤

oc三种传值方式:通知传值,代理传值,block传值 三种传值方式分别为:通知传值,代理传值,block传值 通知和代理的区别(重点) 1,代理可以给sender返回值;通知不能返回值 2,通知代理量小,代理实现步骤比较繁琐 3,通知是一对多/一对无的关系; 代理是一对一关系 4,通知是一个监听者,效率较低. 阅读详情
协议的使用步骤


1、声明协议


@class ItemView
;
@protocol ItemViewDelegate <NSObject>


@optional


- (void)didItemView:(ItemView *)itemView atIndex:(NSInteger)index;


@end
@property (nonatomic, assign) id <ItemViewDelegate> delegate;


添加事件


- (void)addGesture
{
   
 UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didItemView:)];
   
 [self addGestureRecognizer:tap];
   
 
}




#pragma mark - Target Actions


- (void)didItemView:(UITapGestureRecognizer *)tap
{
   
    if ([self.delegate respondsToSelector:@selector(didItemView:atIndex:)]) {
        
              [self.delegate didItemView:self atIndex:self.tag];
   
 }


}


@interface MainViewController : UITabBarController
<ItemViewDelegate>


//挂代理
 
   itemView.delegate = self;
 
协议方法


#pragma mark - ItemView Delegate


- (void)didItemView:(ItemView *)itemView atIndex:(NSInteger)index
{


   //[UIView beginAnimations:nil context:NULL];


    //    _selectView.frame = CGRectMake(5 + 65 * index, _tabBarBG.height/2-45.0/2, 50, 45);
//    
     [UIView commitAnimations];


//    self.selectedIndex = index;
    
   [self changeViewController:index];


}

OC Control NewPagedFlowView实战指南:卡片轮播器组件实现 在移动应用开发中,面对多样化的需求,开发者经常需要超越现有的控件,去创建完全自定义的控件。自定义Control是满足特定业务逻辑需求的一个有效途径,它不仅能够提升用户体验,而且可以带来更好的代码复用性和更灵活的功能扩展。接下来,我们深入探讨自定义Control的创建过程以及分析其带来的优势。要创建一个自定义的Control,开发者需要对原有控件进行继承和封装,以便实现额外的特性和行为。自定义Control不仅丰富了开发者的工具箱,还带来了一系列的优势,比如更好的用户体验和更强的功能扩展性。 阅读详情

相关推荐

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1681

OC设计模式之代理(委托)设计模式

作为一种面向对象类型的语言,OC中也有各种设计模式的体现,这里讲到的是代理(委托)设计模式。 首先我们来理解一下什么是委托设计模式,       1.委托(delegate)也叫代理,是iOS开发中常用的设计模式。     2.代理模式是一种简单而功能强大的设计模式,这种模式用于一个对象“代表”另外一个对象和程序中其他的对象进行交互。      3.主对象(这里指的

梧雨北辰的博客 2303

基础知识学习 -- qnx 系统

qnx os车载系统

求变,从思想开始 3873

iOS开发之OC入门(协议、代理)

协议:protocol 专门用来声明一大堆方法,不能声明属性,也不能实现方法,只能用来写方法的声明 只要某个类遵守这个协议,就相当于拥有这个协议中的所有方法声明 @protocol 协议名称 <NSOject> 方法的声明; @end ...

weixin_46926959的博客 1563

Ansys CFX Pre 中 RGP 表的高级配置与优化策略

本文深入探讨了Ansys CFX Pre中RGP表的高级配置与优化策略,旨在帮助用户将仿真从“能用”提升至“精准好用”。文章重点解析了如何根据具体仿真场景,科学设定温度压力范围、选择流体类型,并针对相变等复杂工况实施网格加密与分离建表等关键优化技术,以显著提升计算精度与稳定性。

weixin_29216957的博客 1180

MT4/MT5 第三代移动平均线(MetaTrader 指标)

第三代移动平均线(3G-MA)是传统MA指标的升级版本,通过"时滞压缩"算法将信号滞后降至理论极限(λ=2)。该指标在保留平滑性的同时,信号速度比EMA快1.5-2.3倍,适用于MT4/MT5平台。核心参数包括计算周期(默认34)、滞后压缩系数(2-10)和应用价位选择,支持斜率变色功能。安装简单,无需外部依赖,通过多周期共振可提升12-18%胜率。指标代码包含完整的MT4/MT5实现方案,采用双缓冲计算结构,通过相位前移算法抵消群延迟。风险提示:需配合其他技术指标和严格风控(≤2%账户

JanLEE 579

OC中代理的定义和使用

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34253126的博客 767

芒果YOLOv8改进72:动态标签分配策略篇之ATSS:自适应训练样本选择Adaptive Training Sample Selection策略

YOLOv8代码实践|ATSS标签分配策略改进🥭

包括YOLOv5、YOLOv7、YOLOv8等模型改进 2909

OC中代理的使用

通常代理的使用需要以下几个步骤: 1、制定协议。协议可以在委托对象的.h中声明,也可以在单独的.h中声明。制定协议后,在协议中声明需要代理对象来实现的方法。 2、设置代理属性。制定协议后需要为委托对象设置一个代理属性,代理属性的作用是存储委托对象的代理对象。具体格式如下: @property (nonatomic, assign) id<****> delegate;//*...

weixin_30782293的博客 432

PostgreSQL:十五. 性能优化

十五. 性能优化 优化简介: PostgreSQL优化一方面是找出系统的瓶颈,提高PostgreSQL数据库整体的性能; 另一方面,需要合理的结构设计和参数调整,以提高用户操作响应的速度; 同时还要尽可能的节省系统资源,以便系统可以提供更大负荷的服务。 PostgreSQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如: 通过优化文件系统,提高磁盘IO的读写速度; 通过优化操作系统调度策略,提高PostgreSQL的在高负荷情况下负载能力; 优化表结构、索引、查询

数据知道的博客 4万+

I2C 协议在 Camera Sensor 驱动中的典型配置方式与实战应用

在 Linux Camera 系统中,Sensor 与主控之间的控制信令几乎都依赖于 I2C 总线完成。I2C 协议不仅承载了 Sensor 初始化、模式切换、AE/AF 等关键功能的指令传输,也是构建 v4l2\_subdev 驱动框架的核心基础。本文将围绕 Sensor 驱动中的 I2C 通信机制展开分析,从设备树节点声明到驱动代码中的传输接口调用,结合主流平台工程实战经验,详解如何构建稳定、高效、可维护的 I2C 控制路径。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1713

OC_Delegate(代理)

有A类,通过自己的一个方法影响B类,可以选择用代理(有些叫委托) 一、A做一个协议,协议里声明了一些方法 二、A类做一个属性,这个属性是遵守了自己协议的id属性 三、A类有一个触发的方法,在这个触发方法中,用自己的id属性调用协议中的方法 四、B类遵守触发类的协议 五、B类实现协议中的方法 六、B类实例化一个触发类的对象,并把自己self赋值给触发类的id属性 A.H

每天进步0.1的专栏 1081

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

oc调javascript方法(evaluateJavaScript:)&&js给oc发通知

在ios8中引入了WKWebView控件,通过在头文件引用 #import<WebKit/WebKit.h>来使用该控件, 这个控件与oc的原生控件uiwebview很相似,它更方便oc与js的相互通讯。 1.oc调用js方法例子: 通过方法: - (void)evaluateJavaScript:(NSString*)javaScriptString c...

diaomu2002的博客 1177

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

scrollView的重要属性,代理方法,tableView的数据源,代理方法,UIPickerView,UIDatePicker,UIToolbar

scrollView 中的重要属性

dwt1220 5972

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

OC与JS交互之WKWebView

转载地址:https://www.cnblogs.com/markstray/p/5757264.html OC与JS交互之WKWebView 阅读目录 一、WKWebView Framework 二、WKWebView中的三个代理方法 三、使用WKWebView重写 四、后记 上一篇文章我们使用了JavaScriptCore框架重写了之前的示例,iOS8苹果偏爱HTML...

zwl492454828的专栏 5524

OC控件--UITableView

设计思想: 通过代理的方法对它进行回调设置 UITableView有两种风格: UITableViewStylePlain 默认平铺的风格 UITableViewStyleGrouped 默认分组的风格 在初始化控件的时候可以设置,如下: UITableView *tableview=[[UITableView alloc]initWithFrame:self.view.fra...

pretysunshine的博客 428

OC中 子控件 传递方法几种方案

前言:最近刚刚结束一个项目,身心疲惫,还是得写写项目中用到的一些常见数据传递方案。 一、一对一方案 001 代理 通过一个子控件定义几个协议函数在父控件的@interface ()<协议> 继承该代理,在父控件中实现这些函数,最经典就是UITableView的实现方式。要注意某些代理是否是required关键词声明了required关键词就得必须实现否则会报错 002 block 子控件声明block函数,在父控件中,子控件通过setBlock方法可以将子控件的参数传给父控件来进行使.

Coding_Physical的专栏 281

30天学会OC-16:常用UI控件

今天我们学习了iOS开发中常用的UI控件,包括UILabelUIButtonUITextViewUISwitchUISlider和。我们掌握了它们的基本属性和事件处理方法,并了解了如何通过代码和Interface Builder来配置这些控件。熟练运用这些控件是构建丰富用户界面的基础。明天我们将学习和。

smileKH的博客 1119

OC 电商产品展示控件 ViewGrop

ViewGrop  控件 是能够突出产品。主要特点:1、当前视图明显突出   2、周围商品微妙  3、可以手动滑动  4、点击两边左右滑动  5、可以添加各种切换效果   第一步:首先重写  UiScrollView   // //  ZSJ_UIScrollview.h //  View_Grop_zsj // //  Created by 周双建 on 1

风沙岁月 779

OC之基本控件四

UIScrollView的常用属性和使用方法 1. contentOffset 默认CGPointZero,用来设置scrollView的滚动偏移量。     // 设置scrollView的滚动偏移量     scrollView.contentOffset = CGPointMake(0, 200); 2. contentSize 默认CGSizeZero,用来设置scrollVi

时光代码 1296

oc学习之路----代理模式2-使用步骤

之前已经写过一个个人关于代理模式的一些看法,现在就来总结一下使用代理模式的步骤吧。    1.先搞清楚谁是谁的代理(delegate) ● 2.定义代理协议,协议名称的命名规范:控件类名 + Delegate ● 3.定义代理方法 Ø代理方法一般都定义为@optional Ø代理方法名都以控件名开头 Ø代理方法至少有1个参数,将控件本身传递出去 Ø 4.设置代理(delega...

weixin_30731287的博客 70

IOS WebView中JS和OC相互调用

现在有很多项目中都涉及到HTML5,在一个普通的APP里面嵌入HTML5网页,嵌入的这些网页在服务器把页面修改之后同样也能跟着修改,这样就能很方便的修改程序的展示内容。如果使用tabelView或者其他的控件展示内容的话,当展示的内容的样式需要发生改变的时候必须修改程序本身才能够达到修改的效果。所以,在APP里面HTML5的嵌入可以更加方便的维护程序的内容,但是由于现在受网速啊,手机性能等因素的影响

清风的博客 5313

前端直接调用OC的native方法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34378045的博客 266

「OC」初识MVC —— 简单学习UITableView的解耦

最近在学习了解MVC,然后开始发现,原来之前自己写的内容,真的拿不上一点台面,真是叫人头大啊。好吧😭,知耻而后勇,只能继续好好学习了。由于是刚刚接触MVC,很多内容都是根据网上内容进行相关学习,因为没有基础的概念认知,如果有错误敬请斧正。关于tableView的解耦自我感觉还是一知半解,关于MVC和解耦的思想还是不太理解,对于在解耦的tableView之中使用自定义cell的部分还有一定的不理解,但是还是汇总为了博客记录一下学习的内容,后面还有根据网络申请进行分装,那就在后面学到了相关内容再进行深入学习。

aa2002aa的博客 2286

OC之基本控件五

UITableView UITableView内置了两种样式:UITableViewStylePlain,UITableViewStyleGrouped 里的方法: tableView处理步骤 #pragma mark 1.有多少组 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView #pragma mark 2.第

时光代码 1193
下一篇: block块的用法
tooles
博客等级 码龄11年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值