Selector 有什么用途?

ESD 防护深度解析:模型、等级、系统设计与防护策略 本文系统阐述了静电放电(ESD)防护的核心技术体系。首先对比分析了HBM(人体模型)和CDM(充电设备模型)两种基础ESD模型的物理特性、测试标准及分级要求,指出相同电压下CDM的破坏性是HBM的15-20倍。其次详细解析了IEC61000-4-2系统级ESD标准,包括接触/空气放电测试方法及判定等级。重点提出了系统级防护的三层架构:空间隔离(≥10mm间距)、电气隔离(地平面分割)和TVS管选型(响应时间<1ns),并对比了MOV、SCR等防护器件特性。针对不同应用场景(消费电子、工业控制等)给出了差异化 阅读详情
我们会在几个地方应用selector


1. Target/Action
在Interface Builder中建立了一个UIButton或是NSButton控件,然后将按钮连接到controller中IBAction的method上,这时候我们的Controller就是Button的target,而要求controller执行的method就叫做action。
action就是一个selector。


2. 检查method是否存在
检查某个对象是否有某个method,只要呼叫 respondsToSelector: 就可以了
if([myObject respondsToSelector:@selector(doSomething)]){
//...
}


3. Timer

NSObject除了 performSelector: 这个method之外,同样以 performSelector 开头的还有好几组。
performSelector:withObject:afterDelay: 就可以让我们在一定的秒数之后才要求某个method执行

[self performSelector:@selector(doSomething) withObject:nil afterDelay:1.0];
如果时间还不到预定的要执行的时间,method还没有执行,我们也可以反悔,取消刚才预定的要执行的method
[NSObject cancelPreviousPerformRequestsWithTarget:self];

performSelector:withObject:afterDelay: 的效果相当于产生 NSTimer 对象,当我们想要延迟呼叫某个method,或是要重复执行,都可以通过建立 NSTimer 对象达成,要使用timer,我们也必须使用selector语法。
我们先定义一个timer要做的事情:
- (void)doSomething:(NSTimer *)timer
{
	//todo...
}
然后通过 doSomething: 的 selector 建立 timer
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:someObject selector:@selector(doSomething:) userInfo:nil repeats:YES];

4. 在某个Thread执行method
假如有一件事情会执行的太久,我们可以将这件事情丢到后台,也就是另外建立一条Thread执行:
[self performSeclorInBackground:@selector(doSomething:) withObject:nil];
注意,再后台执行时,这个method的内部需要建立自己的 Auto-Release Pool。
执行完毕后,通过 performSelectorOnMainThread:withObject:waitUntilDone:,通知主Thread我们已经把事情做完了。比如,我们要转换一个比较大的档案,就可以在后台实际转换,转换之后在告诉主Thread,在UI上跳出提示窗口,提示试用装已经转换完毕。
- (void)doSomething
{
	@autorealsepol{
		//do something here
		[self performSelectorOnMainThred:@selector(doAnotherThing) withObject:nil waitUntilDone:NO];
	}
}

}


5. Array
我们也可以通过传递selector,要求Array里头每一个都执行一次指定的method
[anArray makeObjectsPerformSelector:@selector(doSomething)];




ABAP代码使用OAuth2.0 Client Credential调用外部API ABAP-OAuth2.0-调用外部API 阅读详情

相关推荐

iTunes备份文件路径修改方法

因为以前的很多帖子iTunes都不是从微软下载的,而现在的iTunes一般都是微软商店里面的,它的路径为:“C:\Users\ 你的用户名 \Apple\MobileSync” (注:用户名,根据个人电脑名称更改)打开iTunes备份路径:“C:\Users\txh\AppData\Roaming\Apple Computer\MobileSync”,其中文件夹MobileSync就是用来存放备份文件的。创建你想备份纯在的目录创建备份文件目录(我的是G:/APPLE/Backup)2.粘贴的剪切文件目录。

尘玥的故事 1万+

Selector介绍

基本介绍 Java的NIO,用非阻塞的IO方式。可以用一个线程,处理多个客户端连接,就会使用Selector(选择器) .Selector能够检测多个注册的通道上是否有事件发生(注意:多个Channel以事件的方式可以注册在同一个Selector),如果有事件发生,便获取事件人后针对每个事件进行相应的处理,这样就可以只用一个单线程去管理多个通道,也就是管理多个连接和请求。 只有在连接/通道真正发生读写事件时,才会进行读写,就大大的减少了系统开销,并且不比为每个连接都创建一个线程,不用去维护多个线 避免了多

程序员劝退师的博客 1223

【光学仿真】基于Matlab的LG/BG/PV/HG光束生成与特性分析【附完整源码】

本文详细介绍了如何使用Matlab进行拉盖尔-高斯(LG)、贝塞尔-高斯(BG)、完美涡旋(PV)和厄米-高斯(HG)四种特殊光束的仿真与特性分析。通过提供完整的Matlab源码,手把手指导读者生成光束、分析其强度、相位、传播特性及轨道角动量,为光学研究、激光应用及教学提供了直观高效的数值实验平台。

3a9bq4r8t2y的博客 490

NIO 三大组件之Selector

一、Selector 简介 Selector 一般称其为“选择器”,在Java NIO中起着多路复用的作用。它可用于检查一个或多个Channel(通道)的状态,是否处于可读、可写。如此便可实现单个线程管理多个channels,也就可以管理多个网络链接。因此使用Selector 的好处便是使用更少的线程来就可以来处理多个通道了,相比传统I/O,这里也就避免了线程上下文切花的开销了。这里看下Selector类的代码: public abstract class Selector implements Cl

寒山道杳 1354

高光谱知识(1)-高光谱成像技术的理解

系列文章目录 高光谱技术可以获得待观测目标或场景的连续单色光谱图像,并通过空间维(x, y)数据和光谱维(λ)数据共同组成三维观测数据立方体,从而为研究人员提供探测目标或场景中的每一个点的空间和光谱特征细节。这种兼具相机的高分辨成像能力和光谱仪的高光谱分辨能力使得高光谱被广泛应用于测绘遥感、目标识别、环境监测与评估、临床影像诊断、过程监控等任务中,并在地理、空间、海洋、气候、大气、农业、植被、生态、医药、安防、制造与色度等多个领域中发挥巨大作用。 文章目录系列文章目录前言一、按获取数据的过程划分二、按照光

Echo_Code的博客 1万+

LibreNMS实战:5分钟搞定Docker部署与中文配置(附常见问题排查)

本文详细介绍了如何使用Docker在5分钟内快速部署LibreNMS,并完成中文界面优化。从环境准备到容器启动,再到中文语言包安装和系统配置调整,提供了完整的实战指南。同时,文章还包含常见问题排查和性能调优建议,帮助用户高效搭建网络监控系统。

e1f2g的博客 1279

唠唠~NIO中的Selector选择器

在前面的博客中介绍了NIO中的Buffer、Channel、Selector以及NIO模型的简单演示。我认为在NIO中最难理解的、东西比较多的当属于Selector选择器莫属,今天想再说说Selector选择器。 Selector的优点:可以使用更少线程来管理channel(线程会占用内存资源,线程的切换对系统的开销也很大,一般线程越少越好,但随着现在机器性能提高,多核计算使用单线程反而浪费资源...

禾露悠悠摇的博客 315

可信数据空间:可信空间、区域功能节点、业务功能节点、连接器的关联关系

可信数据空间通过分层架构实现安全数据共享:可信空间作为顶层制定全局规则;区域功能节点协调辖区内功能节点协作;功能节点提供具体数据服务;连接器作为唯一通信通道确保安全交互。系统采用"规则自上而下约束,数据自下而上流动"机制,通过分层治理和标准化连接,在保证数据主权的同时实现跨域协作,具有策略分级执行、去中心化治理等特性,支持灵活扩展业务场景。

友莘居士的博客 1682

Java NIO之Selector(选择器)

历史回顾: Java NIO 概览 Java NIO 之 Buffer(缓冲区) Java NIO 之 Channel(通道) 其他高赞文章: 面试中关于Redis的问题看这篇就够了 一文轻松搞懂redis集群原理及搭建与使用 超详细的Java面试题总结(三)之Java集合篇常见问题 一 Selector(选择器)介绍 Selector 一般称 为选择器 ,当然你也可以翻译为 多路复用器 。它是J...

weixin_34292959的博客 268

古月学院《如何在Gazebo中实现阿克曼转向车的仿真》课程资料在ROS Noetic版本中运行时的常见错误及解决方法

   最近想在Gazebo中开发一些仿真内容,于是购买了古月学院的《如何在Gazebo中实现阿克曼转向车的仿真》课程,但是由于ROS 版本的更新,拿到手的课程资料不能直接在ROS Noetic版本中运行,经过我这几天的探索,对遇到的错误及解决方法进行了整理,方便后面购买课程的小伙伴更快的成功运行程序    在文章正式开始之前,先放一下我之前为了寻找该资料报错的原因,而写的两篇与该课程相关的文章链接,感兴趣的可以自行阅读    以阿克曼转向车为例对URDF和XACRO文件进行解读(点击可跳转)    将x

慕羽★的博客 5973

Autosar PWM模块的配置和使用

在上面的代码中,我们首先配置了PWM的初始化参数,包括频率和分辨率。GPIO Driver:由于PWM信号需要输出到特定的引脚上,因此我们还需要使用GPIO驱动程序来控制引脚的状态。通过合理配置和应用PWM模块,我们可以实现对汽车电子系统中各种功能的精确控制,从而提高汽车性能和用户体验。在实际应用中,我们可以根据需要进行更多的配置和调整,以实现灵活的PWM控制。PWM Driver:这是主要的PWM驱动程序,负责产生PWM信号并输出到相应的引脚上。接下来,我们需要配置PWM模块的参数。

TcData的博客 679

java关闭通道_java – NIO Selector Thread,按预期处理通道,但如何确保通道在使用后正确关闭?...

所以我在ServerRunnable类中有以下代码:public class FirmwareServerRunnable implements Runnable {private static Logger log = Logger.getLogger(FirmwareServerRunnable.class.getName());private LinkedTransferQueue comm...

weixin_27059669的博客 322

在 SAP 里,想让“同一笔业务”在多个账套(平行分类账)中生成不同编号的会计凭证,标准做法就是

摘要:SAP系统中实现同一业务在不同分类账生成独立凭证号的方法是为每个分类账配置独立的凭证类型-编号范围映射。通过FBN1/OBA7等事务码为各分类账分配专属编号段,系统过账时会按分类账自动取号,确保凭证号互不冲突。该方案适用于S/4HANA和ECC系统,支持标准过账(F-02)或分类账专属过账(FB01L)两种模式,最终实现"一业务多账套,各自独立编号"的目标。

金牌架构师 549

帮你了解Selector

帮你了解Selector 

zenny_chen的专栏 1812

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java nio原理 epoll_【解惑】java nio的selector原理及非阻塞用途

小弟近日研究java的nio,有几个比较疑惑的地方,发出来请众位高手解惑1. selector机制:经过查看各种网上资料及java nio这本书,得知,当调用selector.select()方法时,调用底层的selectorimpl的doSelect()方法(windows是WindowsSelectorImpl,linux2.6及以上是EPollSelectorImpl),在这里,仅以linu...

weixin_32734545的博客 435

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android selector 失效

感谢大佬:https://blog.youkuaiyun.com/u012925323/article/details/50251667 android selector在android开发中起到了改变控件背景图片以及形状,点击抬起时的状态等作用,但是在一些情况下他们会失效。 1、在作为容器(LinearLayout、RelativeLayout、FrameLayout)的状态选择器的时候,必须加上属性android:clickable=”true”才行,否则将会失效。 2、在加了属性android:clickab.

Jason的学习笔记 742

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

选择器Selector的使用

selector oc 数据类型 选择器 跨类传参 方法名 sel it 分类: [iPhone开发]   Selector是OC特有的一种数据类型。可以简单理解为方法的调用。和普通方法调用不同的是。选择器的特点是可以跨类传参。你可以在A类中声明某方法,然后在B类中控制该方法的调用。   说白了SEL就是返回方法名。   这样的机制大大的增加了我们的程序的灵活性,我们可以通过给一个方法传递S

HX_lei的博客 678

Android中selector的使用

selector的定义 selector就是状态列表(StateList), 它分为两种,一种Color-Selector 和Drawable-Selector。 Color-Selector color-selector 就是颜色状态列表,可以跟color一样使用,颜色会随着组件的状态而改变。文件的位置存储于 /res/color/filename.xml 在Java中...

luoj_616的专栏 441

schedule_selector详解

大家在使用update的时候有时候基本会这样传参:schedule(schedule_selector(PlaneLayer::Myupdate),0.1f,kRepeatForever,0);那么其中的schedule_selecto是什么意思?回到cocos源代码,如下:typedef void (Ref::*SEL_CallFunc)(); typedef void (Ref::*SEL_Ca

u011488256的博客 2483

JAVA nio selector 入门

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

weixin_34122548的博客 77

Java NIO(六)Selector

Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 [size=xx-large]为什么使用Selector?[/size] 仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道。对于操作...

报喜鸟 171

matlab simulink中selector的使用

1、selector简介 2、用途 1)多选一; 2)多选多; 3)调整输入信号顺序; 3、使用方法 如图例子: 加入三个常量分别为1,2,3 使用mux集总三路信号; 输入selector,设置selector Number of input dimensions:1(输入的向量) Index mode : One-based 信号序号从1开始 Index option:index vector (dialog) Index [1 3 2] 调换2和3的顺序 ,如果只要一个信号如第一个,可以设置in

EricHai的博客 1万+

NIO---selector

原文地址:http://www.cnblogs.com/bronte/articles/1966550.html *对于nio的非阻塞I/O操作,使用Selector获取哪些I/O准备就绪,注册的SelectionKey集合记录关联的Channel这些信息.SelectionKey记录Channel对buffer的操作方式. ---SelectableChannel,Selector,

lrenjundk的专栏 1181

Objective-C Class Selector

在Objective-C里面,一个类被正确的编译过后,在这个编译成功的类里面,存在一个变量用于保存这个类的信息。我们可以通过一个普通的字符 串取得这个Class,也可以通过我们生成的对象取得这个Class。Class被成功取得之后,我们可以把这个Class当作一个已经定义好的类来使用 它。 Selector和Class比较类似,不同的地方是Selector用于表示方法。 在Object...

t225com 85

返回的图片 buffer 怎么接收_Java NIO:Buffer、Channel 和 Selector

点击上方Java后端,选择设为星标优质文章,及时送达作者 | HongJie链接 | javadoop.com/post/nio-and-aio本文将介绍 Java NIO 中三大组件Buffer、Channel、Selector的使用。本来要一起介绍非阻塞 IO和 JDK7 的异步 IO的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到另一篇文章中进行介...

weixin_39638014的博客 921

Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector

Java NIO:Buffer、Channel 和 Selector 转自https://www.javadoop.com/post/nio-and-aio 本文将介绍 Java NIO 中三大组件Buffer、Channel、Selector的使用。 本来要一起介绍非阻塞 IO和 JDK7 的异步 IO的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放...

Java技术江湖 1789
上一篇: Selector的初步认识
下一篇: Autolayout自动布局1
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值