![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程、JS交互
文章平均质量分 83
Longshihua
喜欢iOS开发,目前在上海工作!专注Swift学习!
展开
-
GCD-信号量(dispatch_semaphore_t)
信号量在多线程开发中被广泛使用,当一个线程在进入一段关键代码之前,线程必须获取一个信号量,一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待前面的线程释放信号量。 信号量的具体做法是:当信号计数大于0时,每条进来的线程使计数减1,直到变为0,变为0后其他的线程将进不来,处于等待状态;执行完任务的线程释放信号,使计数加1,如此循环下去。原创 2016-05-09 14:06:53 · 4026 阅读 · 0 评论 -
多线程之NSThread
iOS多线程在iOS中每个进程启动后都会建立一个主线程(UI线程),这个线程是其他线程的父线程。由于在iOS中除了主线程,其他子线程是独立于Cocoa Touch的,所以只有主线程可以更新UI界面(新版iOS中,使用其他线程更新UI可能也能成功,但是不推荐)。iOS中多线程使用并不复杂,关键是如何控制好各个线程的执行顺序、处理好资源竞争问题。常用的多线程开发有三种方式:1.NSThread 2.N...原创 2016-01-14 15:54:06 · 483 阅读 · 0 评论 -
Swift4 - GCD的使用
从Swift3开始GCD的API就发生了很大的变化,更加简洁,使用起来更方便。像我们经常开启一个异步线程处理事情然后切回主线程刷新UI操作,这里就变的非常简单了。 DispatchQueue.global().async { // do async task DispatchQueue.main.async { // update UI } }...原创 2018-03-30 17:33:27 · 5709 阅读 · 0 评论 -
多线程之GCD
多线程基础概念 进程进程是指在系统中正在运行的一个应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。线程一个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程,称为主线程。一个进程(程序)的所有任务都在线程中执行。 进程和线程的比较1:线程是CPU调用(执行任务)的最小单位。2:进程是CPU分配资源的最小单位。3:一个进程中...原创 2016-01-18 11:03:51 · 1699 阅读 · 0 评论 -
UIWebView与JS交互
UIWebView与JS交互 UIWebView与页面的交互主要体现在两方面:使用ObjC方法进行JS页面操作、在页面中调用ObjC方法两部分。和其他移动操作系统不同,iOS中所有的交互都集中于一个stringByEvaluatingJavaScriptFromString:方法中,以此来简化开发过程。下面直接看代码:当访问百度搜索手机版时会发现,有时候点击页面中的某个元素可以调出iOS...原创 2016-01-20 17:23:35 · 480 阅读 · 0 评论 -
UIWebView简单使用
基础知识1:UIWebView是iOS内置的浏览器控件,系统自带的Safari浏览器就是通过UIWebView实现的.UIWebView不但能加载远程的网页资源,还能加载绝⼤部分的常见文件 html\htm pdf、doc、ppt、txt mp4 ......MIME的英文全称是“Multipurpose Internet Mail Extensions” 多用途互联网邮件扩展,是一个互联网标准...原创 2016-01-20 15:16:52 · 528 阅读 · 0 评论 -
iOS - Block由浅入深
块(Block)是OC对C所做的扩展,使用块可以更好地简化OC编程,而且OC的很多API都依赖于块。块与函数类似,只不过是直接定义在另一个函数里的,和定义它的那个函数共享同一个范围的东西。定义块的语法格式如下:^[块的返回值类型](形参类型1形参1,形参类型2形参2, …){ //块执行体}从上面的语法格式可以看出,定义块非常像定义一个函数,但只是定义一个匿名函数。定义...原创 2015-06-21 19:35:19 · 950 阅读 · 0 评论