摘要:
1、单例的概念 一个单例,表示在一个应用的声明周期中,这个类的对象只能被实例化一次,也就是说一个类只能有一个对象。2、单例的作用 因为,在一个应用中,一个类只有这一个单例对象,所以不管在A还是B还是。。。中,只要实例化出来,都是同样一个对象。所以我们可以通过这个对象来进行传值。(例如:这个对象有... 阅读全文
摘要:
iOS开发多线程篇—NSOperation基本操作一、并发数(1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3(2)最大并发数:同一时间最多只能执行的任务的个数。(3)最⼤大并发数的相关⽅方法- (NSInteger)maxConcurrentOperationCoun... 阅读全文
摘要:
iOS开发多线程篇—自定义NSOperation一、实现一个简单的tableView显示效果实现效果展示:代码示例(使用以前在主控制器中进行业务处理的方式)1.新建一个项目,让控制器继承自UITableViewController。 1 // 2 // YYViewController.h 3 /... 阅读全文
摘要:
iOS开发多线程篇—NSOperation简单介绍一、NSOperation简介1.简单说明NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程NSOperation和NSOperationQueue实现多线程的具体步骤:(1)先将需要执行... 阅读全文
摘要:
iOS开发多线程篇—GCD的常见用法一、延迟执行1.介绍iOS常见的延时执行有2种方式(1)调用NSObject的方法[selfperformSelector:@selector(run)withObject:nilafterDelay:2.0];// 2秒后再调用self的run方法(2)使用GC... 阅读全文
摘要:
iOS开发多线程篇—GCD的基本使用一、主队列介绍主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行。提示:如果把任务放到主队列中进行处理,那么不论处理函数是异步的还是同步的都不会开启新的线程。获取主队列的方式:dispatch_queu... 阅读全文
摘要:
iOS开发多线程篇—GCD介绍一、简单介绍1.什么是GCD?全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”纯C语言,提供了非常多强大的函数2.GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线... 阅读全文
摘要:
iOS开发多线程篇—线程的状态一、简单介绍线程的创建:self.thread=[[NSThread alloc]initWithTarget:self selector:@selector(test) object:nil];说明:创建线程有多种方式,这里不做过多的介绍。线程的开启:[self.th... 阅读全文
摘要:
iOS开发多线程篇—线程安全一、多线程的安全隐患资源共享1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源比如多个线程访问同一个对象、同一个变量、同一个文件当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题示例一:示例二:问题代码: 1 // 2 // YYViewCont... 阅读全文
摘要:
iOS开发多线程篇—线程间的通信一、简单说明线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信线程间通信的体现1个线程传递数据给另1个线程在1个线程中执行完特定任务后,转到另1个线程继续执行任务线程间通信常用方法-(void)performSelectorOnMainTh... 阅读全文
摘要:
iOS开发多线程篇—创建线程一、创建和启动线程简单说明一个NSThread对象就代表一条线程创建、启动线程(1) NSThread*thread = [[NSThreadalloc]initWithTarget:selfselector:@selector(run)object:nil];[thre... 阅读全文
摘要:
iOS开发多线程篇—多线程简单介绍一、进程和线程1.什么是进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内比如同时打开QQ、Xcode,系统就会分别启动2个进程通过“活动监视器”可以查看Mac系统中所开启的进程2.什么是线程1个进程要想执行任... 阅读全文
摘要:
iOS开发拓展篇-XMPP简单介绍一、即时通讯简单介绍1、简单说明即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容有许多的IM系统,如AOL IM、Yahoo IM、 MSN以及QQ,它们最大的区别在于... 阅读全文
摘要:
iOS开发拓展篇—xib中关于拖拽手势的潜在错误一、错误说明自定义一个用来封装工具条的类搭建xib,并添加一个拖拽的手势。 主控制器的代码:加载工具条封装工具条以及手势拖拽的监听事件 此时运行程序,程序直接崩溃,报错如下: 说明:手势不会有superView方法,superView是UIView... 阅读全文
摘要:
iOS开发拓展篇—应用之间的跳转和数据传说明:本文介绍app如何打开另一个app,并且传递数据。一、简单说明新建两个应用,分别为应用A和应用B.实现要求:在appA的页面中点击对应的按钮,能够打开appB这个应用。1.新建两个应用,分别为A和B. 2.设置应用B的url。3.在应用A中编写打开app... 阅读全文
摘要:
iOS开发拓展篇—音频处理(音乐播放器6)一、图片处理说明:Aspect表示按照原来的宽高比进行缩放。Aspectfit表示按照原来的宽高比缩放,要求看到全部图片,后果是不能完全覆盖窗口,会留有空白。Aspectfill表示按照原来的宽高比缩放,但只能看到部分图片。引发的问题:可能会有一部分超出屏幕... 阅读全文
摘要:
iOS开发拓展篇—音频处理(音乐播放器4)说明:该文主要介绍音乐播放器实现过程中的一些细节控制。实现的效果: 一、完整的代码YYPlayingViewController.m文件 1 // 2 // YYPlayingViewController.m 3 // 20-音频处理(音乐播放器... 阅读全文
摘要:
iOS开发拓展篇—音频处理(音乐播放器5)实现效果:一、半透明滑块的设置 1 /** 2 *拖动滑块 3 */ 4 - (IBAction)panSlider:(UIPanGestureRecognizer *)sender { 5 6 //1.获得挪动的距离 7 CG... 阅读全文
摘要:
iOS开发拓展篇—音频处理(音乐播放器3)说明:这篇文章主要介绍音频工具类和播放工具类的封装。一、控制器间数据传递1.两个控制器之间数据的传递第一种方法:self.parentViewController.music=self.music[indexPath.row];不能满足第二种做法:把整个数组... 阅读全文
摘要:
iOS开发拓展篇—音频处理(音乐播放器1)说明:该系列文章通过实现一个简单的音乐播放器来介绍音频处理的相关知识点,需要重点注意很多细节的处理。一、调整项目的结构,导入必要的素材 调整后的项目结构如下: 二、新建两个控制器(1)新建一个控制器,用于展示音乐文件列表界面,其继承自UITableVie... 阅读全文