ios performsmail.hdelector.com怎么用

您正在使用IE低版浏览器,为了您的IThao123账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
IOS中关于延迟函数performSelector的使用
IOS中关于延迟函数performSelector的使用
一、首先解释下performSelector方法中每个参数的意义:
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)
(1)aSelector:表示你要调用的方法
(2)anArgument:如果你要调用的方法中需要传递参数,那么anArgument就表示你要传递的值;如果你要调用的方法不需要传递参数,那么此处传nil
(3)delay:表示你要延迟的时间
二、使用此函数要注意的问题:
此函数执行时是单线程的,也就意味着你在用用这个函数时。必须等调用这个函数的方法全都执行完了以后才会执行此函数中你要调用的方法
三、具体实例:
- (void)viewDidLoad
& & [superviewDidLoad];
& & [selfperformSelector:@selector(print:)withObject:@&you
can do it!&afterDelay:1];
&& & NSLog(@&Nothing is impossible!&);
-(void)print:(NSString *)string{
& & NSLog(@&string is:%@&,string);
打印结果如下:
四、引申:
如果你想要执行此函数的时候是多线程,那么可以用下面的方法:
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)
具体示例如下:
- (void)viewDidLoad
& & [superviewDidLoad];
& & [selfperformSelectorOnMainThread:@selector(output:)withObject:@&main
thread&waitUntilDone:YES];//YES表示允许多线程,如果想要单线程执行,把YES变为NO 即可
&& & NSLog(@&what happened?&);
-(void)output:(NSString *)string{
& & NSLog(@&this string is:%@&,string);
打印结果如下:
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊IOS开发中多线程的使用(烟台杰瑞教育原创)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
烟台杰瑞教育科技有限公司(简称杰瑞教育)...
评价文档:
IOS开发中多线程的使用(烟台杰瑞教育原创)
I​O​S​开​发​中​多​线​程​的​使​用
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做一下总结,[delegate&imageDownloader:self&didFinishWithImage:image];[delegate&performSelector:@selector(imageDownloader:didFinishWithImage:)withObject:self&withObject:image];1、performSelector是运行时系统负责去找方法的,在编译时候不做任何校验;如果直接调用编译是会自动校验。如果imageDownloader:didFinishWithImage:image:不存在,那么直接调用&在编译时候就能够发现(借助Xcode可以写完就发现),但是使用performSelector的话一定是在运行时候才能发现(此时程序崩溃);Cocoa支持在运行时向某个类添加方法,即方法编译时不存在,但是运行时候存在,这时候必然需要使用performSelector去调用。所以有时候如果使用了performSelector,为了程序的健壮性,会使用检查方法- (BOOL)respondsToSelector:(SEL)aS2、直接调用方法时候,一定要在头文件中声明该方法的使用,也要将头文件import进来。而使用performSelector时候,&可以不用import头文件包含方法的对象,直接用performSelector调用即可。
无相关信息一、创建多线程的五种方式1.开启线程的方法一NSThread * thread=[[NSThread alloc] initWithTarget:self selector:@selector(_update) object:nil];2.开启线程的方法二[NSThread detachNewThreadSelector:@selector(_update) toTarget:self withObject:nil];3.开启线程的方法三[self performSelectorInBackground:@selector(_update) withObject:nil];4.开启线程的方法四NSOperationQueue *queue=[[NSOperationQueue alloc] init];[queue addOperationWithBlock:^{for(int i=0;i&50;i++){printf("子线程 ");}}];5.开启线程的方法五//第一步开启线程池NSOperationQueue * queue=[[NSOperationQueue alloc] init];//设置并发数目[queue setMaxConcurrentOperationCount:2];//第二部创建多线程添加到线程池NSInvocationOperation * thread1=[[NSInvocationOperation alloc] initWithTarget:self selector:@selector(_update1) object:nil];NSInvocationOperation *thread2=[[NSInvocationOperation alloc] initWithTarget:self selector:@selector(_update2) object:nil];[thread1 setQueuePriority:NSOperationQueuePriorityVeryLow];[thread2 setQueuePriority:NSOperationQueuePriorityVeryHigh];[queue addOperation:thread1];[queue addOperation:thread2];二、多线程应用实例,加载图片。1.核心思想考虑到如果加载网络图片会延迟,在一个主线程加载会影响控件的渲染,此时可以采取多线程,异步加载完成后刷新UI。2.实现思路通过为UIImageView 增加类目来实现多线程下载。主要代码:#import "UIImageView+thread.h"@implementation UIImageView(load)- (void) setImageWithUrl:(NSString *)url{[self performSelectorInBackground:@selector(_loadImage:) withObject:url];}- (void) _loadImage:(NSString *)u{@autoreleasepool {NSURL *url=[NSURL URLWithString:u];NSData *data=[NSData dataWithContentsOfURL:url];UIImage *image=[UIImage imageWithData:data];[self performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:NO];}}
更多信息请查看
易贤网手机网站地址:
【】&&&&&【】
由于各方面情况的不断调整与变化,易贤网所提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
& (09月17日)
& (09月17日)
& (09月17日)
& (09月17日)
& (09月17日)
& (09月17日)
& (09月14日)
& (09月14日)
& (09月14日)
& (09月14日)
& (09月14日)
& (09月14日)
云南各地招聘
&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp会员注册
本站不参与评论,(&&点此深度交流 )
自觉遵守:爱国、守法、自律、真实、文明的原则
尊重网上道德,遵守中华人民共和国各项有关法律法规
严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的评论
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
您在本站发表的评论,本站有权保留、转载、引用或者删除
参与本评论即表明您已经阅读并接受上述条款
将该文分享到:}

我要回帖

更多关于 itemselector 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信