![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS开发笔记
文章平均质量分 68
6Ningt
读万卷书,行万里路。
展开
-
多线程之使用信号量
引言信号量作为GCD的一部分,常用于多线程或任务间协作,当一个任务的执行过程中需要依赖另一个任务时即可使用信号量。实现原理信号量通过信号计数来实现。其使用即计数过程可分为三个部分:创建信号量、等待信号与释放信号。创建信号量 函数为dispatch_semaphore_t dispatch_semaphore_create( long value),可指定信号的初始数量。 等待信号 函数为di原创 2015-09-10 18:56:05 · 961 阅读 · 0 评论 -
绘图与动画之使用自定义属性与Quartz实现扇形加载动画
前言许久不更博客,心痒难耐。 正好Quartz内容也有些忘却,索性写个绘图动画熟熟手。 之前见过一下扇形加载动画,具体哪个应用已经不记得,当时觉得很有意思,正好在这里实现一番。大概效果如下:思路与算法从图中不难看出,整个动画每转一圈会前进一部分,循环往复。 将每次旋转单独拆分的话,又分为三个部分:扇形扩展整体前进扇形收缩于是我们可以得出:整个扇形为一个以时间为未知数的周期函数,同时也是原创 2015-11-03 18:17:40 · 863 阅读 · 0 评论 -
iOS开发笔记(1)---- 静态库实践
前言作为iOS平台支持的唯一自定义代码库形式,静态库常用于第三方SDK或功能模块的开发。 目前介绍静态库开发的教程已经不少,在此我们只对静态库的开发过程做简要介绍,并且讲一讲内部实现及注意事项。开发过程创建静态库工程 目前静态库类型共有两种,.a和.framework。 .framework与.a使用起来几乎一样,区别在于.framework已包含头文件而.a文件并不包含头文件。代码编写代码库原创 2015-09-25 15:56:26 · 596 阅读 · 0 评论 -
绘图与动画之使用自定义属性与图像掩膜实现灯泡开关动画
基础知识本文主要用到的技术主要有自定义属性动画与图像操作。自定义属性动画常见的CABasicAnimation和CAKeyframeAnimation只能对CAlayer的默认属性进行操作,而对于自有属性无法实现的动画效果我们可以通过自定义属性动画来实现。实现过程如下:顾名思义,首先我们要根据动画效果添加相应的自定义属性,即动画的路径是关于此属性的函数。同时,属性的实现需要指定为原创 2015-09-03 13:07:19 · 897 阅读 · 0 评论 -
绘图与动画之使用自定义属性与颜色渐变实现色带加载动画
基础知识本书用到的主要技术有自定义属性动画与颜色渐变。 自定义属性动画在 绘图与动画系列之使用自定义属性与图像掩膜实现灯泡开关动画一文中已经讲过,这里就不再解释。颜色渐变Quartz提供了两种创建颜色渐变的数据类型:CGShadingRef和CGGradientRef,而渐变的种类则分为轴向和径向两种,两种数据类型均可以绘制这两种渐变。 本文中用到的是CGGradientRef,创建CGGrad原创 2015-09-03 14:58:25 · 1320 阅读 · 0 评论 -
多线程之GCD简述
##队列与线程首先我们对相关的几个名词做一下名词解释: - GCD 全称Grand Central Dispatch,中文译作大中枢派发系统,用来处理多任务与多线程的派发与执行。 - queue 用于存储任务的队列,遵循先进先出原则,也就是先加入的任务先执行后加入的任务后执行,队列中的任务可分配到多个线程中。 - 线程 具体处理各任务的计算与执行,单个线程同一时间只能处理一个任务。原创 2015-09-10 16:17:46 · 652 阅读 · 0 评论 -
绘图与动画之使用CAKeyframeAnimation实现仿WP水滴加载动画
基础知识本文所用到的是CAKeyframeAnimation即关键帧动画,CAKeyframeAnimation和CABasicAnimation同为CAPropertyAnimation的子类,都可以通过keyPath来为view的某一属性实现常用动画。 不同的是,CABasicAnimation只能指定属性的起始值(fromValue)、最终值(toValue)和步进值(byValue);而C原创 2015-09-02 23:43:37 · 990 阅读 · 0 评论 -
iOS开发笔记(5)---- 应用内接入Apple Pay
自2014年苹果秋季发布会至今,Apple Pay推出已将近一年时间,我们对其便利性与安全性也早有耳闻,然而时至今日其使用范围仍然只限美国、英国两地区,对于在中国区的引入,我们只能报以期望。总体来说,在应用内集成Apple Pay需要两个部分:交易授权与交易处理。交易授权在应用内进行,通过PassKit.framework所提供的接口向用户获取支付授权(payment token);而交易处理则需要原创 2015-08-05 14:37:49 · 1820 阅读 · 0 评论 -
iOS开发笔记(4)---- 反射
反射的强大之处在于,我们可以将对象与依赖对象之间完全解耦,操作属性、方法可以不依赖于对象,操作对象可以不依赖于类型,操作类型可以不依赖于引用等等等等。 借助强大的runtime特性,在iOS平台上我们也得以实现反射。//使用前需要先引用runtime头文件原创 2015-07-23 22:54:10 · 1091 阅读 · 0 评论 -
iOS开发笔记(3)---- 3DES/MD5加解密
准备工作:导入系统头文件 #import “CommonCryptor.h” #import “CommonDigest.h”加密代码如下 //将秘钥字符串转换为Byte数组 NSData *kd=[keyStr dataUsingEncoding:NSUTF8StringEncoding]; const void *key=kd.byt原创 2015-07-23 23:02:55 · 861 阅读 · 0 评论 -
iOS开发笔记(2)---- 错误处置
一些常见的问题与解决方法总结。1、Dumplicate symbol ***类名称或常量重复,需要改变其中一个 2、Undefinedsymbol for Architechture ***可能(1)该文件所在静态库缺少指令集信息,静态库需要重新编译可能(2)该文件所在静态库依赖的FrameWork未引用,添加依赖框架 如果出现Object_Clas原创 2015-01-25 11:18:21 · 487 阅读 · 0 评论 -
iOS开发笔记(6)---- 应用内接入银联ApplePay
2016年2月18日,ApplePay终于登陆中国了~ 这对果粉尤其是苹果系开发者来说,无疑是一件好事,然而让开发者苦恼的是,我们应该如何接入ApplePay?开发指南只是讲解了如何获取token,但是如何通过token处理支付并没有相关说明,只是推荐大家通过第三方平台来处理支付流程: In most cases, your app passes the encrypted payment t原创 2016-03-09 20:15:09 · 3676 阅读 · 0 评论