performselector是NSObject类中的一个方法,用于在当前线程中调用一个指定的方法。
原理:performselector方法的原理是利用了Objective-C的消息机制。当调用performSelector方法时,runtime会根据方法的名称和参数类型去查找并动态调用对应的方法。因此,我们可以通过performSelector方法来动态地调用方法,而不需要在编码时硬编码调用方法。
用法:performSelector方法有多种形式的重载,可以根据实际需要选择使用。常用的几种用法如下:
performSelector方法,无参数:- (void)performSelector:(SEL)aSelector
这种用法可以用于调用无参数的方法。例如:
[self performSelector:@selector(doSomething)];
等价于:
[self doSomething];
performSelector方法,带一个参数:- (void)performSelector:(SEL)aSelector withObject:(id)anObject
这种用法可以用于调用带一个参数的方法。例如:
[self performSelector:@selector(doSomethingWithObject:) withObject:obj];
等价于:
[self doSomethingWithObject:obj];
performSelector方法,带多个参数:- (void)performSelector:(SEL)aSelector withObject:(id)anObject1 withObject:(id)anObject2
这种用法可以用于调用带多个参数的方法。例如:
[self performSelector:@selector(doSomethingWithObject1:object2:) withObject:obj1 withObject:obj2];
等价于:
[self doSomethingWithObject1:obj1 object2:obj2];
需要注意的是,performSelector方法在调用时,会进行方法的选择器检查和参数的类型匹配。如果选择器找不到或者参数类型不匹配,会导致程序崩溃。为了避免这种情况,可以使用respondsToSelector方法来判断某个对象是否实现了指定的方法。
本文由 贵州做网站公司 整理发布,部分图文来源于网络,如有侵权,请联系我们删除,谢谢!
现在做代购的人越来越多了,不管是日韩美、欧洲各种商品都应有尽有。微信作为推进代购生意的利器,是许多微商的好选择。下面本站为您奉上海淘行业微信代运营方案。1.定位...
电商小程序一直是小程序开发中的热门开发之一,淘宝、京东的流量越来越贵了。而小程序还处于红利。下面本站来为您介绍电商小程序定制开发是怎么帮商家实现转型的?一、电商...
微信一直都是很多企业广告主或是媒体人的脑疼问题,因为公众号的营销方向从来都是很难确定的事情,毕竟很多的企业在进行公众号营销的时候,都会有服务号和订阅号,还有...
(资料图片仅供参考)随着社会越来越发达,大家都选择在网络上汲取相关知识内容,比如呢绒是什么面料呢,为了更好的解答大家的问题,小编也是翻阅整理了相应内容,下面就一起来看一下吧!呢绒又名毛料,它是对用各类羊毛、羊绒织成的织物的泛称。它一般适用以制造礼衣、西装、大衣等正规、高级的服装。它的优点是防皱耐磨,手感柔软,高雅挺括,赋有弹性,保暖性强。它的缺点主要是洗涤较为艰难,不大适用于制造夏装。...
(相关资料图)关于无瑕的意思是什么的知识大家了解吗?以下就是小编整理的关于无瑕的意思是什么的介绍,希望可以给到大家一些参考,一起来了解下吧!无瑕:1、释义:指没有瑕疵,比喻没有缺点或污点;指玉上没有斑点,比喻没有缺点或毛病。2、出处:《东周列国志》。3、近义词:完美、纯洁。4、反义词:瑕疵、斑点。...
(资料图)国际金价续创9月28日以来新低至1617.12美元/盎司,因强劲的劳动力市场数据和美联储官员鹰派言论削弱了黄金的吸引力,10年期美债收益率创下2008年6月以来的新高。北京时间今天15:21,现货黄金下跌0.49%至1619.63美元/盎司;COMEX期金主力合约下跌0.81%至1623.5美元/盎司;美元指数上浮0.14%至112.986。SPI Asset Management管理合...