关闭

多线程-10、dispatch同步

GCD提供两种方式支持dispatch队列同步,即dispatch组和信号量。 一、dispatch组(dispatch group) 1. 创建dispatch组 dispatch_group_t group = dispatch_group_create();  2. 启动dispatch队列中的block关联到group中 dispatch_group_asyn...
阅读(236) 评论(0)

多线程-9、dispatch源

dispatch源(dispatch source)和RunLoop源概念上有些类似的地方,而且使用起来更简单。要很好地理解dispatch源,其实把它看成一种特别的生产消费模式。dispatch源好比生产的数据,当有新数据时,会自动在dispatch指定的队列(即消费队列)上运行相应地block,生产和消费同步是dispatch源会自动管理的。 dispatch源的使用基本为以下步骤: ...
阅读(108) 评论(0)

多线程-8、dispatch队列

GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用。所以说,结合block实现的GCD,把函数闭包(Closure)的特性发挥得淋漓尽致。   dispatch队列的生成可以有这几种方式: 1. dispatch_queue_t queue = disp...
阅读(143) 评论(0)

多线程-7、dispatch对象

谈起iOS的dispatch(正式称谓是Grand Central Dispatch或GCD),不得不说这又是iOS(包括MacOSX)平台的创新,优缺点这里不讨论,只有当你使用时才能真正体会到。我们说dispatch函数的主要目的是实现多任务并发代码,那么要理解dispatch函数,先来了解dispatch对象的定义。   dispatch对象类型的部分定义,主要使用C语言的宏定义:...
阅读(78) 评论(0)

有关UIViewController与UIVie

UIViewController 分为下面三种情形创建 (依次调用的方法 顺序如下) 一.StoryBoard:     1.initWithCoder   ;  2.awakeFromNib   ;  3.loadView   ;  4.viewDidLoad  二.Xib:                  1.init  ;  2.initWithNibName  ;  3.loadV...
阅读(117) 评论(0)

多线程-6、NSOperation

iOS平台提供更高级的并发(异步)调用接口,让你可以集中精力去设计需完成的任务代码,避免去写与程序逻辑无关的线程生成、运行等管理代码。当然实质上是这些接口隐含生成线程和管理线程的运行,从而更加简洁地实现多线程。下面先来研究NSOperation和NSOperationQueue类的使用。 NSOperation实质是封装了需要并发运行的代码,一些主要接口和NSThread基本相同,可以看做没...
阅读(85) 评论(0)

多线程-5、如何让NSURLConnection在子线程中运行

可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行。 前面提到可以将NSTimer手动加入NSRunLoop,Cocoa库也为其它一些类提供了可以手动加入NSRunLoop的方法,这些类有NSPort、NSStream、NSURLConnection、NSNetServices,方...
阅读(114) 评论(0)

多线程-4、NSTimer

理解run loop后,才能彻底理解NSTimer的实现原理,也就是说NSTimer实际上依赖run loop实现的。 先看看NSTimer的两个常用方法: + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userI...
阅读(90) 评论(0)

多线程-3、NSRunLoop

弄清楚NSRunLoop确实需要花时间,这个类的概念和模式似乎是Apple的平台独有(iOS+MacOSX),很难彻底搞懂(iOS没开源,呜呜)。 官网的解释是说run loop可以用于处理异步事件,很抽象的说法。不罗嗦,先看看NSRunLoop几个常用的方法。 + (NSRunLoop *)currentRunLoop; //获得当前线程的run loop + (NSRunLo...
阅读(107) 评论(0)

多线程-2、锁

谈到线程同步,一般指如何对线程间共享数据的同步读写,如何避免混乱的读写结果。一个基本的解决办法就是使用锁(LOCK)。 iOS提供多种同步锁的类和方法,这里介绍下基本用法。   1. NSLock:最基本的同步锁,使用lock来获得锁,unlock释放锁。如果其它线程已经使用lock,这时lock方法会阻塞当前线程,直到其它线程调用unlock释放锁为止。NSLock锁一般用于简...
阅读(100) 评论(0)

多线程-1、NSThread

对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用。产生线程的方式姑且分两类,一类是显式调用,另一类是隐式调用。 一、显示调用的类为NSThread。一般构造NSThread的线程对象可通过两种方式: 1. 初始化线程主方法: [NSThread detachNewThreadSelector:@selector(run:) toTarget:t...
阅读(74) 评论(0)

如何删除xcode项目中不再使用的图片资源

由于随着项目不但的版本迭代开发,资源也不断的替换,如果没有养成一个好的使用习惯,时间久了,自然就产生了好多的无用的图片资源,下面就两种方法帮你定位到无用的图片 1. 利用工具    下载地址  http://jeffhodnett.github.io/Unused/   运行效果如下   2. 通过终端 执行 shell 命令 a. 第一步建立.sh 文件  如 unu...
阅读(182) 评论(0)

苹果IOS开发者账号总结

苹果IOS开发者账号总结 详细地址:https://developer.apple.com/programs/which-program/   个人账号(Individual): 费用99美金一年, 该账号在App Store销售者只能显示个人的ID,比如zhitian zhang,单人使用。个人账号只能有一个开发者。100个苹果的iOS设备UDID测试。  公司团队账号 (Co...
阅读(280) 评论(0)

详解开源项目:MMPopupView(弹出框组件)

开源项目:MMPopupView 前言 弹出框组件应该是绝大多数应用都少不了的(只有极少数精心设计的APP会用不到) 当然我们的APP也不例外 之前我们APP的弹出框组件是我用pop写的 可是后来发现与系统原生动画有些冲突(pop内部用到了CATransaction 导致跟系统动画同时发生时会有问题) 所以上周花了大半天时间重写了一下MMPopupView这个组件 因...
阅读(1066) 评论(0)

iOS开发UI篇—程序启动原理和UIApplication

iOS开发UI篇—程序启动原理和UIApplication   一、UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。 (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示。 (3)通过[UIA...
阅读(155) 评论(0)

iOS开发UI篇—常见的项目文件介绍

iOS开发UI篇—常见的项目文件介绍 一、项目文件结构示意图   二、文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要用来放依赖的框架 3.test文件夹是用来做单元测试的 4.常用的文件夹(项目名称文件夹) (1)XXXinfo.plist文件(在该项目中...
阅读(197) 评论(0)

12个免费学习编程的网站

1、CodeAcademy 2、Coursera 3、edX 4、Udemy 5、aGupieWare 6、GitHub 7、MIT Open Courseware 8、Hack.pledge 9、Code Avengers 10、Khan Academy 11、Free Food Camp 12、HTML5 Rocks...
阅读(310) 评论(0)

iOS小技巧--用runtime 解决UIButton 重复点击问题

iOS小技巧–用runtime 解决UIButton 重复点击问题 什么是这个问题 我们的按钮是点击一次响应一次, 即使频繁的点击也不会出问题, 可是某些场景下还偏偏就是会出问题.  通常是如何解决 我们通常会在按钮点击的时候设置这个按钮不可点击. 等待0.xS的延时后,在设置回来; 或者在操作结束的时候设置可以点击. - (IBAction)clickBtn1:(UIb...
阅读(382) 评论(0)

iOS开发(Objective-C)常用库索引

code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例  cocoacontrols.com/ 英文版本的lib收集  objclibs.com/ 精品lib的收集网站  http://www.ityran.com/forum-61-1.html 泰然代码仓库 ---------------------- emoji ----------------...
阅读(431) 评论(0)

彩色TabBar切换动画实现

无意间看到一个彩色TabBar切换的设计图,感觉很不错,有空就把他实现了。 环境信息 Mac OS X 10.10.4 Xcode 6.4 iOS 8.4 效果图: 源码下载地址: https://github.com/saitjr/TColorfulTabBar.git 一、实现分析 看到这个彩色切换效果的时候,我第一个反应就是在TabBar上有一个彩色的View,然后...
阅读(263) 评论(0)
258条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:65902次
    • 积分:3058
    • 等级:
    • 排名:第12626名
    • 原创:33篇
    • 转载:7篇
    • 译文:218篇
    • 评论:1条
    最新评论