摘要: 3D touch也出了很长时间了,这次花时间好好研究了一下,把经验与大家分享一下 1. 主界面重按APP图标,弹出Touch菜单 1.1静态快速选项 (iOS数组)给APP指定静态主屏幕的快速选项,这个键包含了一个字典数组,每个字典包含关于一个快速选项的详细信息。你可以指定静态快速选项给你的APP用 阅读全文
posted @ 2016-08-10 17:30 —━紫風.づ 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 文章组织脉络: 从Objective-C到Swift的语法差异。我们熟悉的Objective-C特性在Swift中如何展现。 从Objective-C到Swift的进步改进。研究对比Swift在安全性,易用性上的提升,给我们带来的新编程范式。 从Objective-C到Swift的语法差异。我们熟悉 阅读全文
posted @ 2016-08-10 17:27 —━紫風.づ 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 今天在CocoaChina上看到有人发帖在询问如何在Mac OSX下获得网卡的物理地址,恰好最近在学习IOKit的一些知识,所以通过IOKit的接口肯定是可以很方便的拿到MAC地址信息的,但不知道还有没有其它更方便的API了,所以我姑且贴出一段通过IOKit去获得网卡MAC地址的代码: 阅读全文
posted @ 2016-08-10 17:25 —━紫風.づ 阅读(1941) 评论(0) 推荐(0) 编辑
摘要: 之前自己闲着无聊写过几个套用网页的“皮包软件”,其实像这样的“皮包软件”也可以做得很高端大气的,通过WebKit实现的OC-JS Bridge,可以非常方便的实现在JS中调用OC的方法/在OC中调用JS的方法。如此一来,便可以通过web实现炫丽的UI,而通过原生API实现与本地相关的操作。 1、JS 阅读全文
posted @ 2016-08-10 17:24 —━紫風.づ 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章中介绍了采用了文件记录锁来实现更加安全的多进程互斥,它的平台兼容性也非常好,并且我们也采用它实现了NSDistributedLock的所有的方法.其实在OSX还可以采用文件读写锁来实现更加方便的进程互斥,在fcntl.h中我们可以看到这样的宏定义: 这些宏是同O_RDONLY,O_WRON 阅读全文
posted @ 2016-08-10 17:23 —━紫風.づ 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 在MAC下的多进程开发中,NSDistributedLock是一个非常方便的互斥锁解决方案,一般的使用方法: 但在实际使用过程中,当执行到do something时程序退出,程序再次启动之后tryLock就再也不能成功了,陷入死锁状态.这是使用NSDistributedLock时非常隐蔽的风险.其实 阅读全文
posted @ 2016-08-10 17:22 —━紫風.づ 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 在iOS开发过程中,对单行文本的垂直居中似乎是一件非常easy的事情,直接用下面这段代码就可以完成: 在OSX平台上,我们一般会这样写这段代码: 我们看到的效果将会是这样的:这似乎并不符合预期,我尝试计算了NSFont的leading但仍然不能解决这个问题,经过对不同字体的对比,并绘制出NSAttr 阅读全文
posted @ 2016-08-10 17:19 —━紫風.づ 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 我们开发中常会遇上将NSData转换为NSString,或通过NSJSONSerialization解析JSON的场景,一旦NSData中包含非法的UTF-8编码,那么结果将是返回nil,但这样的结果并不符合我们预期,因为可能这其中仅仅只是一个编码错误,我们更希望将错误编码丢弃或替换为错误字符.在G 阅读全文
posted @ 2016-08-10 17:16 —━紫風.づ 阅读(1513) 评论(0) 推荐(0) 编辑
摘要: 有时我们需要在一个对象生命周期结束的时候触发一个操作,希望当该对象dealloc的时候调用一个外部指定的block,但又不希望直接hook dealloc方法,这样侵入性太强了.下面贴一段非常简单的实现方式,通过一个category给外部暴露一个block注入的接口,内部将该block封装到一个寄生 阅读全文
posted @ 2016-08-10 17:15 —━紫風.づ 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 经常发现在一些需要使用消息转发而创建代理类时, 不同的程序员都有着不同的使用方法, 有些采用继承于NSObject, 而有一些采用继承自NSProxy. 二者都是Foundation框架中的基类, 并且都实现了<NSObject>这个接口, 从命名和文档中看NSProxy天生就是用来干这个事情的. 阅读全文
posted @ 2016-08-10 17:14 —━紫風.づ 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 因为Objective-C的runtime机制, Method Swizzling这个黑魔法解决了我们实际开发中诸多常规手段所无法解决的问题, 比如代码的插桩,Hook,Patch等等. 我们首先看看常规的Method Swizzling是怎样用的, NSHipster有一篇介绍基本用法的文章Met 阅读全文
posted @ 2016-08-10 17:13 —━紫風.づ 阅读(6235) 评论(1) 推荐(0) 编辑
摘要: /** * 手机号码验证 * * @param mobileNumbel 传入的手机号码 * * @return 格式正确返回YES 错误 返回 NO */ + (BOOL) isMobile:(NSString *)mobileNumbel { /** * 手机号码 * 移动:134[0-8],1 阅读全文
posted @ 2016-08-10 17:02 —━紫風.づ 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一、多线程简介 1、多线程的由来 2、耗时操作的模拟试验 3、进程和线程 4、多线程的概念及原理 5、多线程的优缺点和一个Tip 6、主线程 7、技术方案 二、Pthread 1、函数 2、参数和返回值 3、使用 三、NSThread 1、创建一个新的线程 2、线程的状态 3、线程的属性 四、互斥锁 阅读全文
posted @ 2016-08-10 17:01 —━紫風.づ 阅读(503) 评论(0) 推荐(0) 编辑
摘要: Xcode: Command+Shift+N 快速创建project Command+N 快速创建文件 Command + Alt + N = 快速创建组(文件夹) Command + 0, hide/show navigationBar Command + alt + 0, hide/show u 阅读全文
posted @ 2016-08-10 16:59 —━紫風.づ 阅读(277) 评论(0) 推荐(0) 编辑
摘要: MAC下SVN的使用 MAC下SVN的使用 这里只介绍使用CornerStone来使用SVN。 CornerStone是Mac OS X系统下非常好用的一款svn工具,当然还有Versions也是可以用的,但是使用起来不如CornerStone好用。 声明:CornerStone是收费,如果是公司需 阅读全文
posted @ 2016-08-10 16:59 —━紫風.づ 阅读(2107) 评论(0) 推荐(1) 编辑
摘要: 项目名称 阅读全文
posted @ 2016-08-10 16:57 —━紫風.づ 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 苹果开发者账号分三种。 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99。 公司账号:以公司的名义申请的开发者账号,用于公司内部的开发者共用,$99。 企业账号:一般是公司规模在500人以上的企业,用于内部测试发布的账号,该账号发布的应用不发布在appstore 阅读全文
posted @ 2016-08-10 16:57 —━紫風.づ 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 一,ps和pt转换 px:相对长度单位。像素(Pixel)。(PS字体) pt:绝对长度单位。点(Point)。(iOS字体) 公式如下: pt=(px/96)*72。 二,字体间转换 1in = 2.54cm = 25.4 mm = 72pt = 6pc 具体换算是: Points Pixels 阅读全文
posted @ 2016-08-10 16:56 —━紫風.づ 阅读(477) 评论(0) 推荐(0) 编辑