一、多线程的安全隐患 资源共享 1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象、同一个变量、同一个文件 当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题 示例一: 示例二: 问题代码: 打印结果: 二、安全隐患分析 三、如何解决 互斥锁使用格 ...
分类:
移动平台 时间:
2019-02-05 21:05:13
收藏:
0 评论:
0 赞:
0 阅读:
250
一、实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UITableViewController。 2.处理storyboard中得界面,如下: 3.根据plist文件,字典转模型 新建一个类,继承自NSOb ...
分类:
移动平台 时间:
2019-02-05 21:04:04
收藏:
0 评论:
0 赞:
0 阅读:
219
一、简单说明 图形上下文(Graphics Context):是一个CGContextRef类型的数据 图形上下文的作用:保存绘图信息、绘图状态 决定绘制的输出目标(绘制到什么地方去?)(输出目标可以是PDF文件、Bitmap或者显示器的窗口上) 相同的一套绘图序列,指定不同的Graphics Co ...
分类:
移动平台 时间:
2019-02-05 21:03:47
收藏:
0 评论:
0 赞:
0 阅读:
253
一、简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue 如 ...
分类:
移动平台 时间:
2019-02-05 21:02:37
收藏:
0 评论:
0 赞:
0 阅读:
243
一、position和anchorPoint 一、position和anchorPoint 一、position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CAL ...
分类:
移动平台 时间:
2019-02-05 21:01:40
收藏:
0 评论:
0 赞:
0 阅读:
221
一、主队列介绍 主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行。 提示:如果把任务放到主队列中进行处理,那么不论处理函数是异步的还是同步的都不会开启新的线程。 获取主队列的方式: dispatch_queue_t queue=disp ...
分类:
移动平台 时间:
2019-02-05 21:01:22
收藏:
0 评论:
0 赞:
0 阅读:
254
一、为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图 (2)只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力 (3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死 ...
分类:
移动平台 时间:
2019-02-05 21:01:00
收藏:
0 评论:
0 赞:
0 阅读:
221
一、添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上) 二、添加一个显示图片的图层 代码示例: 执行效果: 说明:在第27行设置需要显示的图片,注意,这里用的是UIImag ...
分类:
移动平台 时间:
2019-02-05 21:00:21
收藏:
0 评论:
0 赞:
0 阅读:
186
一、第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的DrawRect:方法,然后在该方法中画图。 绘制图形的步骤: (1)获取上下文 (2)绘制图形 (3)渲染图形 如果在layer上画东西,与上面的过程类似。 代 ...
分类:
移动平台 时间:
2019-02-05 20:59:40
收藏:
0 评论:
0 赞:
0 阅读:
221
一、创建和启动线程简单说明 一个NSThread对象就代表一条线程 创建、启动线程 (1) NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; [thread st ...
分类:
移动平台 时间:
2019-02-05 20:59:24
收藏:
0 评论:
0 赞:
0 阅读:
178
一、并发数 (1)并发数:同时执?行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同一时间最多只能执行的任务的个数。 (3)最?大并发数的相关?方法 - (NSInteger)maxConcurrentOperationCount;- (void)setMaxConcu ...
分类:
移动平台 时间:
2019-02-05 20:57:58
收藏:
0 评论:
0 赞:
0 阅读:
181
一、简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 Core Animation是跨平台的,可以用在Mac OS X和iOS平台。 Core Anim ...
分类:
移动平台 时间:
2019-02-05 20:57:40
收藏:
0 评论:
0 赞:
0 阅读:
224
一、简单介绍 1.什么是GCD? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD的优势 GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创 ...
分类:
移动平台 时间:
2019-02-05 20:57:20
收藏:
0 评论:
0 赞:
0 阅读:
178
一、进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ、Xcode,系统就会分别启动2个进程 通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程 1个进程要想执行任务,必须得有线程(每 ...
分类:
移动平台 时间:
2019-02-05 20:56:59
收藏:
0 评论:
0 赞:
0 阅读:
185
一、简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 线程间通信常用方法 - (void)performSelectorOnMainThread:(SEL ...
分类:
移动平台 时间:
2019-02-05 20:56:44
收藏:
0 评论:
0 赞:
0 阅读:
160
一、UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimati ...
分类:
移动平台 时间:
2019-02-05 20:56:29
收藏:
0 评论:
0 赞:
0 阅读:
183
一、实现思路 Quartz2D最大的用途在于自定义View(自定义UI控件),当系统的View不能满足我们使用需求的时候,自定义View。 使用Quartz2D自定义View,可以从模仿系统的ImageView的使用开始。 需求驱动开发:模仿系统的imageview的使用过程 1.创建 2.设置图片 ...
分类:
移动平台 时间:
2019-02-05 20:56:10
收藏:
0 评论:
0 赞:
0 阅读:
173
一、延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) withObject:nil afterDelay:2.0]; // 2秒后再调用self的run方法 (2)使用GCD函数 dispa ...
分类:
移动平台 时间:
2019-02-05 20:55:52
收藏:
0 评论:
0 赞:
0 阅读:
198
一、简单介绍 线程的创建: self.thread=[[NSThread alloc]initWithTarget:self selector:@selector(test) object:nil]; 说明:创建线程有多种方式,这里不做过多的介绍。 线程的开启: [self.thread start ...
分类:
移动平台 时间:
2019-02-05 20:54:14
收藏:
0 评论:
0 赞:
0 阅读:
208
一、简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对 ...
分类:
移动平台 时间:
2019-02-05 20:53:46
收藏:
0 评论:
0 赞:
0 阅读:
216