导航:首页 > 编程语言 > ios多线程编程组件

ios多线程编程组件

发布时间:2022-07-30 02:29:48

① iOS 开发的中英文入门推荐书籍都有哪些

我简单介绍一下我那时学习参考的书籍。希望对你有帮助。

1.
Sams Teach Yourself iOS 5 Application Development in 24 Hours
Sams Teach Yourself iOS 6 Application Development in 24 Hours
我学习的时候只有ios5版本。这本书是我见过的最好的ios入门书籍,没有之一。概念介绍清晰(初学者不该懂的概念绝对不废话);实践性强;节奏适当。不夸张地说,这本书看了2/3,我已经能做一个app了。(当然功能有相对的局限性,而且还有一些细节问题需要解决,但主要在设计美工环节。事实上,我的第一个app就是完全看完这本书后做的。)
这本书的缺点只有一个:对于OC语言的介绍不够充分。如果之前没有接触过程序设计语言可能有点儿麻烦。但是对于有编程基础的人来说不是问题。如果遇到语言问题,可以和《Learn Objective-C on the Mac》一起看。(见下介绍)

2.
Learn Objective-C On The Mac 2nd Edition
我忘记了我看的1st Edition还是2nd Edition了。不过OC变化不大,没有影响。这是介绍OC语法的书。建议边学ios开发边看。我不建议一下子只扎进oc中,而弃ios sdk不顾。

3.
Beginning IOS 5 Development
Beginning iOS 6 Development : Exploring the iOS SDK
我当时看的是ios5版本。事实上,我一上来就看这本书,后来发现这本根本不适合入门!因为在ios5的时代,这本书介绍的方法依然是ios4的(比如不用storyboard)!我有很多朋友都企图用这本书入门,但最后都失败了。但是我依旧建议看完《Sam》后看看这本书。因为介绍了很多更细节的东西,而且也很有用(比如用代码控制界面、控制界面的转移、包括Core Data,Media相关的一些高级内容等)!在入门的基础上看完这本书,对ios开的理解能上一个层次。

4.Pro iOS Table Views : for iPhone, iPad, and iPod touch
非常非常推荐的一本书。前面说的基础书籍对tableView的介绍是不够详尽的。但是tableView在ios应用开发中是非常重要的一块(至少我做的app都比较依赖tableView)。吃透这本书,tableView基本完全不成问题了。再次吐血推荐!(看完这本书,大多数应用类app都敢做了。)

5.
Beginning iPad Development for iPhone Developers

虽说是一本介绍ipad的书,但其实看完sam加上自己的实践,制作universal的app不是什么难事。ipad也没那么特殊。不过这是一本非常好的介绍
ios graphics capabilities的书!这本书会带你完成一个简单的绘图app,之后你基本能够熟练地使用ios的graphics相关功能了。(注:和Quatrz;Cocoa;OpenGL ES的Graphics不是一回事儿。)

6.
Programming iOS 5 : Fundamentals of iPhone, iPad, and iPod touch Development

Programming iOS 6

非常厚。比之前介绍的书都厚。而且都是干货,所以读起来也慢。我当时看ios5版本。这本书比较全面地介绍ios。建议彻底入门了,甚至已经做出几个app了以后翻看。可以学到很多没有注意过的细节;或者没有用到过的features。虽是个大部头,但是强烈推荐。

7.
Pro Multithreading and Memory Management for iOS and OS X : with ARC, Grand Central Dispatch, and Blocks这是关于ios多线程和内存管理的入门书籍。这部分内容比较深,其实普通开发者可以不完全理解这些机制了。尤其是ios5有了ARC之后。我基本翻完了这本书,但是对于其中的一些东西理解的不透彻(尤其是Multithread部分)。不完全推荐,但感兴趣的同学可以看看。

8.Beginning iOS Game Development
这本书非常基础。如果你已经入了门,读这本书简直轻而易举。我花了一个下午的时间翻完这本书。主要是想学习一下ios动画相关的内容。里面只有很少的几章涉及了相关内容,但是对于一些基本功能的实现已经够了。如果想了解更多ios动画的内容,还是需要到网上去找。我没有找到很好的图书资料。

这就是我完全看过的书。还有一些书觉得应该不错,但是一直没有时间看。而且等入了门,实践的动力远远大于看书学习的动力,所以查文档越来越多。希望能够帮到你,也希望能得到大家指正。
最后,我的apps见个人主页:http://liuyubobobo.com,都是很简单的app,希望和大家交流。
编辑于 2014-03-16 31 条评论 感谢 分享 收藏 • 没有帮助 • 举报
臧其龙,弱者不扶,谁其怀德,强者逃罚,谁其畏威
丁炯、Fisland、mons 等人赞同
我写过一篇专门推荐的iOS开发书单.
1.<iOS By Tutorial>系列.
Raywenderlich出的一些列图书,内容从低到高都有,而且内容秉持了一贯的高质量风格,从5,6,7,8都推荐大家看.我是买了7和8的正版.真的非常不错,不错到我甚至想入手纸质版的.当然,价格是不太亲民的了.(大概五六百左右).
2.<Swift By Tutorial>
3.<Core Data By tutorial>
上面的都是raywenderlich出品.有一个special offers.有钱的可以买一套.
我在raywenderlich上购买的
4.《iOS 6 Programming Pushing the Limits》和《iOS 7 Programming Pushing the Limits》系列.
高手向,讲的内容比较贴近实际工程,而且涉及很多代码优化和项目经验等.非常赞.这个系列有引进的中文版,在京东上有卖.
5.<Swifter>
猫神<onecat>出的一个Swift的书,主要是面向对swift比较熟悉的人.类似tips的一些swift书写经验.
6.<iOS开发进阶>
巧神出的书,多的不说,非常赞.京东有卖.
7.<iOS Core Animation>和<iOS Animation Cook book>
两本介绍CoreAnimation的书,看完基本上一般交互动画不在话下.
8.<CollectionView Complete Guide>
看完各种Custom layout布局随意写.怎么自定义删除添加cell动画
,怎么切换layout的动画,如何写3D效果的layout等等等.
9.<CFHipsterRef>
Mattt大神(AFNetWorking作者)写的书,介绍Objective-C底层知识的,如果相对OBjective-C一些底层实现感兴趣的话可以入手.
10.<Motion Design For iOS>
前不久买的一套,讲交互动画的,对动画感兴趣的可以入手.
11.<iOS Auto Layout Demystified>
详细讲解自动布局的,话说光写自动布局能出一本书,我确实也没想到.
12.<Functional Programming in Swift>
如何用swift进行函数式开发.
13.<图解TCP/IP>
讲解简单易懂.
14.<啊哈!算法>
讲算法的,感觉没计算机基础的看起来都不费力,而且内容也很丰富.
15.<Effective Objective-C 2.0>
这本不多说了吧,神书.进阶必备.
16.<OpenGL ES应用开发实践指南>
买这本纯粹是因为跟自己工作有关系,我是做相机的嘛.对图形图像这块感兴趣的可以入手.讲的一般.不过有基础的翻翻就行了.
最后说一句,有能力的话大家还是买正版吧,按照程序员的收入说实话买几本书根本不是问题.而且对自己的帮助也是立竿见影的.(话说有人愿意花几千买件衣服,不愿意花50买本书.真是无法理解.)

② 你们ios更新完了以后有多线程模式吗

iOS有三种多线程编程的技术,分别是:
(一)NSThread
(二)Cocoa NSOperation
(三)GCD(全称:Grand Central Dispatch)
这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。
三种方式的优缺点介绍:
1)NSThread:
优点:NSThread 比其他两个轻量级
缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销
(一)NSThread的使用
NSThread 有两种直接创建方式:
- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument
+ (void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument

第一个是实例方法,第二个是类方法
参数的意义:
selector :线程执行的方法,这个selector只能有一个参数,而且不能有返回值。
target :selector消息发送的对象
argument:传输给target的唯一参数,也可以是nil
第一种方式会直接创建线程并且开始运行线程,第二种方式是先创建线程对象,然后再运行线程操作,在运行线程操作前可以设置线程的优先级等线程信息
第二种方式继承NSOperation
在.m文件中实现main方法,main方法编写要执行的代码即可。
如何控制线程池中的线程数?
队列里可以加入很多个NSOperation, 可以把NSOperationQueue看作一个线程池,可往线程池中添加操作(NSOperation)到队列中。线程池中的线程可看作消费者,从队列中取走操作,并执行它。

③ 在IOS中为什么使用多线程及多线程实现的三种方法

在iOS中使用多线程是为了让我们的页面不卡,提高用户体验。多线程实现的几种方法如下。
NSThread。这是最轻量级的多线程的方法,使用起来最直观的多线程编程方法。但是因为需要自己管理线程的生命周期,线程同步。经常使用NSThread进行调试,在实际项目中不推荐使用。
GCD(Grand Central Dispatch),GCD是基于C语言底层API实现的一套多线程并发机制,非常的灵活方便,在实际的开发中使用很广泛。简单来说CGD就是把 操作 放在 队列 中去执行。
NSOperation & NSOperationQueue,虽然GCD的功能已经很强大了,但是它使用的API依然是C语言的。在某些时候,在面向对象的objective-c中使用起来非常的不方便和不安全。所以苹果公司把GCD中的操作抽象成NSOperation对象,把队列抽象成NSOperationQueue对象。

④ ios 中的多线程有几种实现方式

java5以前实现多线程有两种方法(继承Thread类和实现Runnable接口) 它们分别为: 使用new Thread()和new Thread(Runnable)形式 第一种直接调用thread的run方法,所以,往往使用Thread子类,即new SubThread()。 第二种调用 Runnable的run方法。 第一种: new Thread(){}.start();这表示调用Thread子类对象的run方法,new Thread(){}表示一个Thread的匿名子类的实例对象,子类加上run方法后的代码如下: new Thread(){ public void run(){ } }.start(); 第二种: new Thread( new Runnable(){} ).start(); 这表示调用Thread对象接受的Runnable对象的run方法,new Runnable(){}表示一个Runnable的匿名子类的实例对象, runnable的子类加上run方法后的代码如下: new Thread(new Runnable(){ public void run(){ } } ).start();

⑤ 在iOS开发为什么使用多线程 多线程有哪些方法

多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径
在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。
然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务。

概要提示:
iPhone中的线程应用并不是无节制的,官方给出的资料显示,iPhone OS下的主线程的堆栈大小是1M,第二个线程开始就是512KB,并且该值不能通过编译器开关或线程API函数来更改,只有主线程有直接修改UI的能力

线程概述
有些程序是一条直线,起点到终点——如简单的hello world,运行打印完,它的生命周期便结束了,像是昙花一现。
有些程序是一个圆,不断循环直到将它切断——如操作系统,一直运行直到你关机。
一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流。
Mac和IOS中的程序启动,创建好一个进程的同时,一个线程便开始运作,这个线程叫做主线程。主线成在程序中的位置和其他线程不同,它是其他线程最终的父线程,且所有的界面的显示操作即AppKit或UIKit的操作必须在主线程进行。
系统中每一个进程都有自己独立的虚拟内存空间,而同一个进程中的多个线程则公用进程的内存空间。
每创建一个新的进成,都需要一些内存(如每个线程有自己的stack空间)和消耗一定的CPU时间。
当多个进成对同一个资源出现争夺的时候需要注意线程安全问题

创建线程
创建一个新的线程就是给进程增加一个执行流,所以新建一个线程需要提供一个函数或者方法作为线程的进口。

iOS有三种多线程编程的技术,分别是:
(一)NSThread
(二)Cocoa NSOperation
(三)GCD(全称:Grand Central Dispatch)
这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。
NSThread:
优点:NSThread 比其他两个轻量级
缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销
Cocoa NSOperation
优点:不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上。
Cocoa operation 相关的类是 NSOperation ,NSOperationQueue。
NSOperation是个抽象类,使用它必须用它的子类,可以实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。
创建NSOperation子类的对象,把对象添加到NSOperationQueue队列里执行。
GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。在iOS4.0开始之后才能使用。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术。现在的iOS系统都升级到7了,所以不用担心该技术不能使用。

阅读全文

与ios多线程编程组件相关的资料

热点内容
win10原始解压软件 浏览:315
阿里程序员的老家 浏览:256
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110
php三个等号 浏览:760
培训班出来的程序员解决问题很差 浏览:963
程序员那么可爱25集 浏览:753
服务器地址和ip地址一样不 浏览:664
php中括号定义数组 浏览:602
php打印堆栈 浏览:516
华为adb命令行刷机 浏览:965
人像摄影pdf 浏览:761
解压文件密码怎样重新设置手机 浏览:1002
高考指南pdf 浏览:695