- 博客(16)
- 资源 (3)
- 收藏
- 关注
翻译 WWDC15 Session笔记 - Xcode 7 UI 测试初窥
WWDC15 Session笔记 - Xcode 7 UI 测试初窥Unit Test 在 iOS 开发中已经有足够多的讨论了。Objective-C 时代除了 Xcode 集成的 XCTest 以外,还有很多的测试相关的工具链可以使用,比如专注于提供 Mock 和 Stub 的 OCMock,使用行为驱动测试的 Kiwi 或者 Specta 等等。在 Swift 中,我们可以
2016-01-25 21:46:58 526
翻译 如何打造一个让人愉快的框架
如何打造一个让人愉快的框架这是我在今年 1 月 10 日 @Swift 开发者大会 上演讲的文字稿。相关的视频还在制作中,没有到现场的朋友可以通过这个文字稿了解到这个 session 的内容。虽然我的工作是程序员,但是最近半年其实我的主要干的事儿是养了一个小孩。 所以这半年来可以说没有积累到什么技术,反而是积累了不少养小孩的心得。 当知道了有这么次会议可以分
2016-01-25 21:44:24 965
翻译 iOS实时卡顿监控
在移动设备上开发软件,性能一直是我们最为关心的话题之一,我们作为程序员除了需要努力提高代码质量之外,及时发现和监控软件中那些造成性能低下的”罪魁祸首”也是我们神圣的职责.众所周知,iOS平台因为UIKit本身的特性,需要将所有的UI操作都放在主线程执行,所以也造成不少程序员都习惯将一些线程安全性不确定的逻辑,以及其它线程结束后的汇总工作等等放到了主线,所以主线程中包含的这些大量计算、I
2016-01-20 18:26:30 2180
原创 JavaScript与Objective-C之间的通信
之前自己闲着无聊写过几个套用网页的“皮包软件”,其实像这样的“皮包软件”也可以做得很高端大气的,通过WebKit实现的OC-JS Bridge,可以非常方便的实现在JS中调用OC的方法/在OC中调用JS的方法。如此一来,便可以通过web实现炫丽的UI,而通过原生API实现与本地相关的操作。1、JS中变量在OC中的类型通过OC-JS Bridge,变量的类型会自动进行转换,基本类型都
2016-01-20 18:16:50 271
原创 iOS 滑动性能优化
一、 减少图层的Blend操作展示半透明的view,设备会把当前图层和背景图层进行alpha叠加,这是一项很耗性能的一件事。如果动画中每一帧都做叠加,性能的损耗是很严重。UIView的背景色避免使用clearColorUIView记得设置成和SuperView相同的颜色动作虽小,效果却好尤其是在需要滑动的场景控件贴图避免使用带alpha的图片视觉
2016-01-20 18:00:35 227
翻译 (类似购物车)单选全选tableViewCell
最近写了一个类似购物车那种单选全选的功能!详细代码请到我的GitHub下载来看看:注意:代码下载下来可能会报如下图的错误,这是由于pod安装慢的问题 解决方法:打开终端 cd 项目路径 回车 输入pod install --verbose --no-repo-update 回车, 就没有错误了!有错误或者有更好的思路,请加我QQ479309088 互相交流!谢谢!喜欢的关注一下小弟的简
2016-01-13 21:09:58 1474
翻译 一个完美封装AFNetworking的网络请求Demo
WSApiInvoker一个完美封装AFNetworking的网络请求Demo简介AFWSApiInvoker主要负责调用AFN做网络请求以及返回错误信息和请求结果ApiInvoker所有api请求类的父类,用于填充请求相关信息以及统一接口ApiRequest网络请求实例包含请求的所有信息ApiResponse服务器回应实例WSApi单例。继成Api
2016-01-13 21:09:11 2844
翻译 iOS缓存框架-PINCache解读
在项目中总是需要缓存一些网络请求数据以减轻服务器压力,业内也有许多优秀的开源的解决方案。通常的缓存方案都是由内存缓存和磁盘缓存组成的,内存缓存速度快容量小,磁盘缓存容量大速度慢可持久化。常见的内存缓存有NSCache、TMMemoryCache、PINMemoryCache、YYMemoryCache。常见的磁盘缓存有TMDiskCache、PINDiskCache、SDWebImage。这次解读
2016-01-13 21:08:13 1766
原创 在团队开发中使用 CocoaPods 的小技巧
在我工作的一个团队中,我们有很多关于安装 CocoaPods 的问题。团队成员拥有不同的 cocoapods gem 的安装版本,并且当有人运行 pod install 时,会将事情搞得一团糟。我们最终不得不委托一人安装 CocoaPods,并且把工程推到 GitHub 上以供我们使用。这显然是不够灵活的,并且对于我们团队或者是委托人来说都不是一个很满意的解决方式。我跟 @Ne
2016-01-09 19:37:21 528
翻译 [iOS]技术学习路线图(长期更新)[好久不见,
iOS系统的更新路程[iOS]系统更新: iOS6[iOS]系统更新: iOS7[iOS]系统更新: iOS8[iOS]系统更新: iOS9iOS-SDK更新路程[iOS]API更新: iOS6[iOS]API更新: iOS7[iOS]API更新: iOS8[iOS]API更新: iOS9iOS开发常用工具简介[iOS]Time Profiler工具[iOS
2016-01-09 19:24:53 1164
翻译 [iOS]iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
3DTouchUITouch类里API的变化iOS9中添加的属性altitudeAngle当笔平行于平面时,该值为0当笔垂直于平面时,该值为Pi / 2estimatedProperties当前触摸对象估计的触摸特性返回值是UITouchPropertyiesupdatedPro
2016-01-09 19:22:45 360
翻译 分享你最喜欢的技巧和提示(Xcode,Objective-C,Swift,C...等等)
笔者分享总结如下(本篇会不定期进行更新) :Objective-C1.让Xcode的控制台支持LLDB类型的打印这有什么用?怎么说尼,笔者认为这个还是比较有用滴,为什么有用尼?因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。不信? 看如下图 :进入正题打
2016-01-09 19:17:45 627
翻译 Xcode插件: MMNavigatorFont
Xcode的文件管理窗口的字体不等宽的问题也就是这个东西字体不等宽很难受有木有? 以前尝试过用TinkerTool 但是问题多多趁着这周有时间 所以花了点时间做了个插件MMNavigatorFont来解决这个问题插件效果大概是这个样子如何开发插件 这里就不介绍了 喵神的入门文章已经很好了下面介绍一下开发过程中遇到的几个问题以及解决办法
2016-01-09 19:16:24 549
转载 猿题库 iOS 客户端架构设计
这篇文章详细介绍了猿题库客户端架构的设计和思考,当然,也有大量的代码示例。 引入了一个名为 Data Controller 的层级为 View Controller 瘦身,并且借鉴了 MVVM 的思想来将界面与底层解耦。这套架构帮助猿题库彻底解耦了UI和逻辑层的开发工作,并且使 View Controller 的代码极为精简,由于 Data Controller 与界面无关,它甚至使单元测
2016-01-05 21:25:32 1124
翻译 iOS-私有API与runtime
序有朋友在做类似iTool的功能,跟我聊起来,这几天闲,就写了一个demo,不是正经做这个,还很粗略,具体干货诸位等这位朋友自己发文吧。DEMOhttps://github.com/liulishuo/testAppList思路iOS9白名单的上限是50个,如果想绕过这个限制,扫描系统中所有app的状态,只有使用私有API,需要用到的类有两个:LSAppli
2016-01-01 19:41:51 577
转载 别让扁平化设计平淡无奇
早在2013年iOS7发布以来,扁平化设计就轰动了互联网世界。从那以后,它就持续发扬光大,并且发展出数量惊人的变种。随着带有扁平化色彩的Google Material design规范的推出、卡片式设计的广泛采用、还有排山倒海的极简化趋势——似乎在可预见的未来,扁平化设计会成为主宰风格。正如2015与2016年的网页设计趋势一书所描述的,扁平化设计正在进化:“最初的扁平化设
2016-01-01 19:40:01 431
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人