ios-performSelecterOnMainThread

问题描述

performSelecterOnMainThread
iOS线程里面的performSelecterOnMainThread函数是干什么的

解决方案

参考:

http://blog.sina.com.cn/s/blog_7b9d64af01019j2n.html

在做项目中,要提高效率,就必须使用多线程。
多线程,在网上搜索,有很多方法使用。
今天,接触到了performSelectorOnMainThread 方法。
NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];
[self performSelectorOnMainThread:@selector(RefreshCellForLiveId:)
withObject:userinfo
waitUntilDone:YES];
[pool release];

该方法的作用是在主线程中,执行制定的方法(代码块)。
参数:
@selector(RefreshCellForLiveId:)就是,要定义我们要执行的方法。
withObject:userinfo
定义了,我们执行RefreshCellForLiveId:方法时,传入的参数对象。类型是id。(我们可以传入任何参数)
waitUntilDone:YES];
指定,当前线程是否要被阻塞,直到主线程将我们制定的代码块(RefreshCellForLiveId:方法)执行完。

注意:
1.当前线程为主线程的时候,waitUntilDone:YES参数无效。
2.该方法,没有返回值
3.该方法主要用来用主线程来修改页面UI的状态。

在做项目中,要提高效率,就必须使用多线程。
多线程,在网上搜索,有很多方法使用。
今天,接触到了performSelectorOnMainThread 方法。
NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];
[self performSelectorOnMainThread:@selector(RefreshCellForLiveId:)
withObject:userinfo
waitUntilDone:YES];
[pool release];

该方法的作用是在主线程中,执行制定的方法(代码块)。
参数:
@selector(RefreshCellForLiveId:)就是,要定义我们要执行的方法。
withObject:userinfo
定义了,我们执行RefreshCellForLiveId:方法时,传入的参数对象。类型是id。(我们可以传入任何参数)
waitUntilDone:YES];
指定,当前线程是否要被阻塞,直到主线程将我们制定的代码块(RefreshCellForLiveId:方法)执行完。

注意:
1.当前线程为主线程的时候,waitUntilDone:YES参数无效。
2.该方法,没有返回值
3.该方法主要用来用主线程来修改页面UI的状态。

解决方案二:
在主线程上操作某个方法不过不建议多用

解决方案三:
在主线程执行某个方法。一般用在多线程里面,线程获取数据,用它更新UI。

解决方案四:
在主线程执行某个方法。一般用在多线程里面,线程获取数据,用它更新UI。

解决方案五:

 在做项目中,要提高效率,就必须使用多线程。多线程,在网上搜索,有很多方法使用。今天,接触到了performSelectorOnMainThread 方法。NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];        [self performSelectorOnMainThread:@selector(RefreshCellForLiveId:)                               withObject:userinfo                            waitUntilDone:YES];        [pool release];该方法的作用是在主线程中,执行制定的方法(代码块)。参数:@selector(RefreshCellForLiveId:)就是,要定义我们要执行的方法。withObject:userinfo定义了,我们执行RefreshCellForLiveId:方法时,传入的参数对象。类型是id。(我们可以传入任何参数)waitUntilDone:YES];指定,当前线程是否要被阻塞,直到主线程将我们制定的代码块(RefreshCellForLiveId:方法)执行完。注意:1.当前线程为主线程的时候,waitUntilDone:YES参数无效。2.该方法,没有返回值3.该方法主要用来用主线程来修改页面UI的状态。
时间: 2024-10-22 02:32:29

ios-performSelecterOnMainThread的相关文章

苹果iOS 程序图标的设计技巧

文章像三联的朋友们介绍苹果iOS 程序图标的设计技巧,教程难度中等,IPHONE.IPAD.IPOD成为越来越多的人使用的移动互联设备,因此我们经常会遇到为这些设备设计图片,特别是设计IPHONE图标,这篇文章就像三联的朋友们详细的介绍一下IPHONE图标的设计流程,好了一起来学习吧:程序图标主要作用是为了使该程序更加具象及更容易理解,除了上述的作用外,有更好视觉效果的图标可以提高产品的整体体验和品牌,可引起用户的关注和下载,激发起用户点击的欲望. 表现形态 在有限的空间里表达出相对应的信息,在

iOS 的 XMPPFramework 简介

XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议(RFC-3920),同时还提供了用于读写XML的工具,大大简化了基于XMPP的通信应用的开发. 1. 登录和好友上下线 1.1XMPP中常用对象们 XMPPStream:xmpp基础服务类 XMPPRoster:好友列表类 XMPPRosterCoreDataStorage:好友列表(用户账号)在core data中的操作类 XMPPvCardCoreDataStorage:好友名片(昵

ios-需要在IOS中设置延迟功能

问题描述 需要在IOS中设置延迟功能 需要一个延时器,进行23秒的延迟然后执行函数.应该怎么实现?用不用NSTimer? 解决方案 performSelector: withObject: afterDelay: 解决方案二: 简单点的话,使用performSelector: withObject: afterDelay: 方法 [self performSelector:@selector(delayMethod:) withObject:nil afterDelay:23];

iOS版微软自拍App上架:自然美颜 上手简单

如今智能手机拍摄功能越来越强大,凭借着更高像素以及移动互联网社交分享的便利性,手机已然取代传统数码相机成为了爱拍一族必不可少的随身利器.然而爱美之心人皆有之,仅依靠自带相机的拍摄效果慢慢无法满足用户的高标准,对此市面上开始集中涌现各式各样的美颜自拍应用. 考虑到自拍应用如此高的受众,微软显然也想来分一杯羹.本周由微软亚太研发集团推出的照片优化应用<微软自拍>正式上线iOS应用商店.相比其他照片处理软件,微软自拍拥有更简单的操作界面,而处理方式也更为自然. 微软自拍可以根据用户的年龄.性别.肤色

ios入门OC_UI晋级学什么?

1. OC 语法初步, 你可能学到面向对象最近本的概念, 并且可以大致的建立几个自以为是的类,但这仅仅是开始. 你知道为什么面向对象要有3大特性么.知道他们是用到什么设计模式的么 2. 你可能学到了NSString, NSMutableString 字符串的基本操作方法, 你可能会花大量的时间去看那些方法. 从没考虑过方法的实用性. UI方法成千上万, 大量的时间浪费到寻找上边可能会很累的. 所以, 学会现用现看 3. 你可能学到了NSArray, NSMutableArray, NSDicti

本人小白,要做ios app 需要怎么入门

问题描述 本人小白,要做ios app 需要怎么入门 本人小白,基本没有基础,准备学ios 做个app请问需要学习那些语言,用什么平台?推荐哪些书籍,十分感谢,app是一个查询类的软件,输入关键词,查找软件里数据库信息 解决方案 如果你还在上学,那么你需要基础四门课:1,计算机组成原理 2,操作系统. 3,数据结构 4,计算机网络 如果你准备速成找工作,那么你应该学习:Objective-C程序设计,swift 语法,<120天从入门到精通实战>, 当然入门最快的不是看书,是看视频,从网上找一

IOS开发:应用程序多语言本地化解决方案

  多语言在应用程序中一般有两种做法: 一.程序中提供给用户自己选择的机会; 二.根据当前用户当前移动设备的语言自动将我们的app切换对应语言. 第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点: 1.本地化应用程序名称 2.本地化字符串 3.本地化图片 4.本地化其他文件 1.本地化应用程序名称 (1)点击"new file"然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到"String File"的图标.创建这个文件,

iOS应用生命周期

作为应用程序的委托对象,AppDelegate类在应用生命周期的不同阶段会回调不同的方法.首先,让我们先了解一下iOS 应用的不同状态及它们彼此间的关系,见图1 .                                                                                                             图1 iOS应用状态图 下面简要介绍一下iOS 应用的5种状态.  Not Running(非运行状态).应用没有运

iOS推送获取不到设备token: 未找到应用程序的“aps-environment”的权利字符串

今天在调试利用腾讯出的信鸽推送系统做iOS的推送消息时,发现真机调试时提示"未找到应用程序的"aps-environment"的权利字符串",网上搜了搜原因大致是因为: APP id和mobileprovision对应不上. 按照信鸽官网的教程http://developer.xg.qq.com/index.php/IOS_%E8%AF%81%E4%B9%A6%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97我已经成功配置好了APP ID,但是

iOS开发音频播放基础——AVAudioPlayer的应用

iOS音频开发--AVAudioPlayer应用 AVAudioPlayer是系统提供给我们的一个音频播放类,在AVFoundation框架下,通过它,我们可以实现一个功能强大的音乐播放器.首先,在项目中我们需要导入AVFoundation这个框架. 一.AVAudioPlayer方法与属性详解 初始化方法有两种,通过音频的路径或者音频data数据初始化player对象 ? 1 2 - (instancetype)initWithContentsOfURL:(NSURL *)url error: