摘要:微信和QQ的每日步数最近十分火爆,我就想为自己写的项目中添加一个显示每日步数的功能,上网一搜好像并有相关的详细资料,自己动手丰衣足食。 统计步数信息并不需要我们自己去实现,iOS自带的健康app已经为我们统计好了步数数据 我们只要使用HealthKit框架从健康app中获取这个数据信息就可以了 这篇
阅读全文
摘要:本地通知使用注意:用户使用当前app的时候时接收不到这个app的通知的,app必须在后台或者结束才能发送通知 下面是一个简单的本地通知例子 - (void)viewDidLoad { [super viewDidLoad]; [self localNotify]; //把应用右上角提醒数字设置为0
阅读全文
摘要:NSOperation是对GCD的分装,OC语言,更简单方便 NSOperation和NSOperationQueue一起使用也能实现多线程编程 基本步骤: 将操作封装到一个NSOperation对象中 将NSOperation对象添加到NSOperationQueue队列 系统会将NSOperat
阅读全文
摘要:学习GCD要掌握几个概念 任务:需要执行的代码块可以看作一个任务 队列:把任务放到队列里,遵循先进先出的原则 队列又分为串行队列和并行队列 串行队列:顺序执行 并发队列:同时执行多个任务 同步:在当前线程执行 (不开辟新线程) 异步:在另一条线程执行(会开辟新线程) gcd是支持arc的,不用我们进
阅读全文
摘要:iOS开发中我们会碰到这样的需求:打印沙盒目录,打印对象信息,对象信息可以通过断点查看,有时候对象属性繁多时看起来又比较麻烦。 今天学到一个比较实用的方法: 在运行时打一个断点,当程序停在这个断点后,下面输入po 后面跟上你想打印的信息(例如po NSHomeDirectory()),结果就出来了,
阅读全文
摘要:锁的类别:互斥锁,递归锁,条件锁,自旋锁等 锁的实现方式:NSLock,NSRecursiveLock, NSConditionLock,@synchronized,GCD的信号量等 下面说一下常用的几种锁: 1.@synchronized:对象级别所,互斥锁,性能较差不推荐使用 @synchron
阅读全文
摘要:有了多线程就有了资源竞争,当多个线程对同一资源进行操作时就容易出现安全隐患。 下面举一个卖票的例子来说明线程的安全隐患 @interface ViewController () @property (assign, nonatomic)NSInteger tickets; @end @impleme
阅读全文
摘要:iOS中多线程的实现方案: 技术 语言 线程生命周期 使用频率 pthread C 程序员自行管理 几乎不用 NSthread OC 程序员自行管理 偶尔使用 GCD C 自动管理 经常使用 NSOperation OC 自动管理 经常使用 线程的状态 NSThread的创建方式: //创建线程方式
阅读全文