唐巧的iOS技术博客选摘
- Viewfinder:移动支付公司 Square 将去年收购的照片应用 Viewfinder 开源了,包含服务端、iOS 和 Android 应用代码。这里有该项目的介绍。
- Eggscellent开源:Eggscellent是Mac上的开源的番茄钟应用。
- PNChart:作者周楷雯Kevin发布了PNChart 0.5版本,提供了一个更漂亮的Pie Chart界面。
- 文本编辑器Atom开源:GitHub将其开发的文本编辑器Atom开源。
- FlappySwift:FlappySwift用swift重写的一个开源Flappy Bird游戏。
- JokeClient-Swift:JokeClient-Swift是@YANGReal用swift写了一个开源的糗事百科的客户端,主要涉及网络请求,图片加载、缓存、自定义UITableViewCell、delegate以及closure,内容接口基于糗事百科API。
- swift-2048:一个用Swift实现的2048游戏。
- UIImageView-BetterFace-Swift:UIImageView-BetterFace-Swift是一个根据目标图象中头像的位置进行智能图片裁剪的开源库,该地址是其更新的Swift版本。
- HackerNews:用Swift实现的HackerNews客户端。
- LTMorphingLabel:用swift写的文字飘入飘出的效果。
- Crashlytics-FPCustomHandler:这是一个为 Crashlytics 写的 category, 可以方便添加自己的崩溃处理函数。
- ParseChat:ParseChat是基于Parse实现的一个实时的聊天室开源应用。
- Realm:Realm是一个真正为移动设备打造的数据库,同时支持Objective-C和Swfit。Realm宣称其相比Sqlite,在移动设备上有着更好的性能表现。
- vpn-deploy-playbook:一个自动部署各种FQ服务的工具,包括IPSec,L2TP,PPTP,Cisco AnyConnect,SigmaVPN,APN,shadowsocks,OpenVPN,DNS,SPDY,用户管理等功能。
《iOS8-day-by-day》:这是一个学习iOS8的系列文章合集,一共有16篇文章。
- 《objc非主流代码技巧》:看开源代码时,总会看到一些大神级别的代码,给人眼前一亮的感觉,多数都是被淡忘的C语言语法,作者在文章中总结了objc写码中遇到的各类非主流代码技巧和一些妙用。
- 《( ) –> ( )》:
() -> ()
不是什么表情符号,而是一种高度抽象的编程范式,它表示了一个函数式的编程思想,即值的变化过程。本文从swift语言入手分析,元组,函数,闭包等的设计对它进行解释,并阐释swift语言设计的大局观,最后分享一个Reactive Cocoa作者的Talk中的编程思想。
- 《如何用Swift做一个不错的按钮变换动画》:文章介绍了如何用Swift语言,采用
Core Graphics
来完成两个按钮之间的切换动画效果(效果图如下所示)。作者也将相关的代码开源在了这里。
- 《为什么唱吧iOS 6.0选择了Mantle》:唱吧6.0一个很重大的修改就是基于Mantle重建(新建)了Model层。文章分享了使用Mantle的决策及执行过程。
- AsyncDisplayKit:AsyncDisplayKit是facebook开源的一个框架,它能让复杂的用户交互效果流畅地显示,facebook使用它开发完成了paper。Facebook也在 这篇文章 中,详细介绍了AsyncDisplayKit。
KZBootstrap:一个方便iOS工程初始化的项目,它包含一些推荐的工程设置和工具。
NewsFourApp:一个模仿网易4.0新UI框架的开源项目。
- 《Objective-C Runtime》:因为OC是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时。也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的代码。这就是 Objective-C Runtime 系统存在的意义,它是整个OC运行框架的一块基石。本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机。主要内容包括:与Runtime交互、Runtime术语、消息机制、动态方法解析、消息转发、壮的实例变量(Non Fragile ivars)、Objective-C Associated Objects。
《刨根问底Objective-C Runtime(1)- Self & Super》:本文通过分析clang重写的Objective-C源码,从而解释Objective-C中的self和super在编译器层面分别是如何处理的。
- 《刨根问底Objective-C Runtime(2)- Object & Class & Meta Class》:本文主要讲述objc runtime中关于Object & Class & Meta Class的细节。
《刨根问底Objective-C Runtime(3)- 消息 和 Category》:文章通过一道习题,利用分析Objective-C实现源代码,讲解了Objective-C的消息和Category的实现原理。
- 《刨根问底Objective-C Runtime(4)- 成员变量与属性》:本篇笔记主要是讲述Objective-C Runtime的成员变量和属性。
CBStoreHouseRefreshControl:一个效果很酷炫的下拉刷新控件。
- ZLSwipeableView:ZLSwipeableView是一个方便做出卡片效果的UI库,支持各种卡片的滑动效果。
- YTKNetwork:YTKNetwork 是基于 AFNetworking 封装的 iOS 网络库,提供了更高层次的网络访问抽象。相比 AFNetworking,YTKNetwork 提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。
Objective-Chain:Objective-Chain是一个面向对象的响应式框架,作者表示该框架吸收了 ReactiveCocoa 的思想,并且想做得更面向对象一些。
《UIAlertController》:你知道 UIAlertView、UIActionSheet (以及它们各自的 delegate protocols) 在 iOS 8 中已经被废弃了吗?本文章的主题就是 UIAlertController,向大家展示如何替换旧的 alert,以及这些操作方法的高级扩展。- 《读 Facebook App 头文件的一些收获》:最近在看一些 App 架构相关的文章,也看了 Facebook 分享的两个不同时期的架构(2013 和 2014),于是就想一窥 Facebook App 的头文件,看看会不会有更多的收获,确实有,还不少。作者分享了从头文件中获取到的一些信息。
《SizeClass 和AutoLayout教程3》:文章翻译自《iOS8 by tutorials》的第一章,以开发一个天气应用为例子,介绍了SizeClass 和AutoLayout相关知识。译者:@叶孤城___。
《SizeClasss和AutoLayout教程4》:文章翻译自《iOS8 by tutorials》的第一章,介绍了如何在不同的 SizeClass 给同一个label设定不同的字体大小和样式。译者:@叶孤城___。
《如何做出炫酷的卡片动画1》:作者介绍了有关卡片动画的研究和实现。
- RTImageAssets:RTImageAssets 是一个 Xcode 插件,用来生成 @3x 的图片资源对应的 @2x 和 @1x 版本,只要拖拽高清图到 @3x 的位置上,然后按
Ctrl+Shift+A
即可自动生成两张低清的补全空位。当然,如果你对图片质量要求不高的话,你也可以从 @2x 的图生成 @3x 版本。 - PQFCustomLoaders:PQFCustomLoaders 提供了高质量的、定制化的加载进度条
- 《Method Swizzling 和 AOP 实践》:利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Method Swizzling 。文本介绍了利用 Method Swizzling,结合 AOP 来做一些打 Log 的工作。利用 objective-C Runtime 特性和 Aspect Oriented Programming ,我们可以把琐碎事务的逻辑从主逻辑中分离出来,作为单独的模块。它是对面向对象编程模式的一个补充。
- BreakOutToRefresh:BreakOutToRefresh 是一个有趣的项目,它利用 SpriteKit 在下拉刷新过程中做了一个打砖块游戏。
- RAMAnimatedTabBarController:RAMAnimatedTabBarController 是一个让 TabBar 上的元素能够显示动画效果的开源库。
VVBlurPresentation:VVBlurPresentation是一个很简单易用的在原来view conntroller基础上做模糊,然后present新的view controller的小项目。作者是onevcat。
- 《Swift开源项目精选》:该作者将 2014 年 Swift 开源项目做了一个筛选和汇总。
- peertalk:peertalk 是一个支持 iOS 与 Mac 通过 USB 相互通讯的开源库。 Duet Display 基于此实现了将 Mac 界面呈现到 iOS 设备上。
- KSHObjcUML:KSHObjcUML 是一个 Objective-C 类引用关系图的 Xcode 插件。作者是:@kimsungwhee。
- 《如何自己动手实现 KVO》:KVO 是 Objective-C 对观察者模式(Observer Pattern)的实现。也是 Cocoa Binding 的基础。当被观察对象的某个属性发生更改时,观察者对象会获得通知。本文探究了 KVO (Key-Value Observing) 实现机制,并去实践一番:利用 Runtime 自己动手去实现 KVO 。
- 《QQ 中未读气泡拖拽消失的实现分析》:QQ 中针对强迫症有个很棒的交互,对于那些暂时不想理会的未读信息气泡,可以直接手指拖拽去掉。本文介绍了其实现方法。
- 《提升 UITableView 性能-复杂页面的优化》:随着 App 的用户界面的内容越来越丰富,再强的手机可能都无法同时渲染复杂的 UI 界面和保证流畅的体验。本文分享了一些提升 UITableView 性能的技巧。
《UIResponder》:在 UIKit 中,IApplication、UIView、UIViewController 这几个类都是直接继承自 UIResponder 类。另外 SpriteKit 中的 SKNode 也是继承自 UIResponder 类。因此 UIKit 中的视图、控件、视图控制器,以及我们自定义的视图及视图控制器都有响应事件的能力。本文详细介绍了一个 UIResponder 类提供的基本功能。
《实现一个 TODO 宏》:文章介绍了如何实现一个能产生编译器警告的 TODO 宏,用于在代码里做备忘。
- 《First Impressions using React Native》:作者介绍了他使用 Facebook 即将开源的 React Native 的感受。
- iOS-Universal-Framework:iOS-Universal-Framework 是一个方便你将第三方 SDK 编译成 Framework 的开源工具。
《如何用纯代码构建一个 Widget(today extension)》:随着 iOS8 的发布,各种 iPhone 的新玩法出现了,其中最引人关注的就是 today extension(也叫做 widget)。网上有很多相关的文章教你如何编写一个简单的 widget,但是却没有一篇适合我们这种纯代码的拥趸。本文介绍了如何用纯代码的方式来构建一个 widget。
- 《iOS 图片加载速度极限优化—FastImageCache 解析》:FastImageCache 是 Path 团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,本文分析了它的实现方式。
- BLKFlexibleHeightBar:BLKFlexibleHeightBar 是一个使导航栏高度可以动态变化的 UI 库。
《轻松学习 Objective-C 消息转发》:作者在文章中通过一个小例子来讲解什么是消息转发,以及如何消息转发,希望看完这篇文章时大家会彻底的明白 OC 的消息转发机制。
《React 入门实例教程》:React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。本文是阮一峰原创的入门教程。
- 《React Native 通信机制详解》:React Native 是 facebook 刚开源的框架,可以用 javascript 直接开发原生 APP,先不说这个框架后续是否能得到大众认可,单从源码来说,这个框架源码里有非常多的设计思想和实现方式值得学习,本文介绍了它最基础的 JavaScript-ObjectC 通信机制。
《为 GCD 队列绑定 NSObject 类型上下文数据-利用 __bridge_retained(transfer) 转移内存管理权》:本文介绍了如何合理运用
__bridge_retained(transfer)
关键字转换对象的内存管理权,让我们自己控制对象的生命周期。- 《Don’t React》:本文作者从多方面分享了他对于 React 框架的负面看法。通过此文,大家可以更加客观地了解 React 这个框架。
Lister:Lister 是苹果提供的官方 Demo。包含了 iOS、Mac 和 Apple Watch 版本,并且为这个 demo 分别用 Objective-C 和 Swift 实现了一遍,最后还包括了 30 页的文档。
HackerNews-React-Native:HackerNews-React-Native 是用 React Native 完成的 HackerNews 客户端。
RMPZoomTransitionAnimator:RMPZoomTransitionAnimator 是一个放大缩小的动效开源库,可以实现图片的放大缩小效果。
- MMTweenAnimation:MMTweenAnimation 是一个基于 POP 的扩展,提供了 10 种自定义的动效。
- Kingfisher:Kingfisher 是一个用于图片缓存的开源库,类似 SDWebImage,但是完全基于 Swift 语言开发。
- 《Increasing Performance by Reducing Dynamic Dispatch》:来自苹果官方博客的文章,介绍了通过减少动态分发,来提高 Swift 程序的执行效率的办法。具体做法上,文章分享了使用
final
关键字,使用private
关键字,以及使用Whole Module Optimization
编译参数来进行深度优化。
唐巧的iOS技术博客选摘相关推荐
- 唐巧的iOS技术博客好文列表
过去几年里我和我的团队做的事情太杂了,甚至还扑在了cocos2d-x上,接下来终于可以专注在iOS和Android原生开发领域了,所以今天特意花了一天时间补课,把唐巧的博客截止到今天(2014.12. ...
- iOS技术博客1 - 跳跃的兔子
iOS技术博客1 - 跳跃的兔子 用了很多的iOS应用,我们被这些界面优美.功能强大.有着极佳用户体验的app所吸引,却少有人想过写出这些优秀app所需的努力.从刚开始尝试iOS开发,到现在逐渐开始下 ...
- 唐巧总结的40个国人iOS技术博客
博客地址 RSS地址 OneV's Den http://onevcat.com/atom.xml 破船之家 http://beyondvincent.com/atom.xml NSHipster h ...
- 黑马程序员——ios面试学习一:Mac系统使用教程——黑马 ios 技术博客
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 学习Mac从这里开始!!! 谢谢大家热烈支持, 感动! 你们的支持是我更新的动力!大家留言说 ...
- 黑马程序员——收集起来的ios笔试题——黑马 ios 技术博客
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义U ...
- 黑马程序员——ios笔试题——黑马 IOS 技术博客
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义U ...
- iOS开发中一些优秀的技术博客
//王魏 https://onevcat.com/#blog //唐巧 http://blog.devtang.com //kitten http://kittenyang.com/page/2/ / ...
- iOS学习资源汇总(开源项目、第三方库、技术博客等等)
iOS学习资源汇总(开源项目.第三方库.技术博客等等) 字数3919 阅读10309 评论29 喜欢297 前言 Github众所周知,全球最大的同性社区交友网站,在这里你可以获取任何你想要的,只要你 ...
- 技术博客,技术社区,学术机构(汇总)
[技术博客] 1.阮一峰:http://www.ruanyifeng.com/blog/ 2.巩朋:http://zh.lucida.me/ 3.吴云洋(cloud):https://blog.cod ...
最新文章
- linux 调用栈打印
- 苹果也像谷歌一样,玩起了自己的X
- vuex报错: [vuex] Expects string as the type, but found undefined.
- Linux 下从命令行打开pdf文件和html文件的命令
- c++名字查找和作用域的一个例子的感想
- 今天的你,又被带节奏了吗?
- CefSharp中c#和JavaScript交互读取电脑信息
- java如何输出线程的标识符_Java多线程面试题
- C语言指针这些使用技巧值得收藏!
- 理论基础 —— 队列
- 【转】基于知识图谱的推荐系统(KGRS)综述
- 金蝶EAS,序时簿ListUI只允许选择一行或至少选择一行记录
- 数学:确定性的丧失---第二章 数学真理的繁荣
- mysql中约束由数字构成_MySQL 数据类型和约束(外键是重点)
- 如何用jira做管理?
- DevOps之运维平台构建
- UEditor 不调用后台
- java 10000以内的质数_【10000以内有多少质数】作业帮
- PHP正则表达式匹配俄文字符
- 软件使用许可协议书模板
热门文章
- 获取股票交易数据的Tushare的使用方法
- pyton对Quoted-printable进行编码和解码
- EMC trainning杂谈
- hazelcast 搭建_hazelcast教程 入门
- android listview 图片闪烁,listView异步加载图片导致图片错位、闪烁、重复的问题的解决...
- Nginx反向代理、配置ssl证书
- html5首字母大小写,css中如何设置英文首字母大写
- markdown还需要图床?你out了!用base64代替图床!
- 第一个 iOS 项目开发小结 - SwiftUI 学习资料、开源项目
- PS技巧三------五彩斑斓的黑色(滤镜---镜头光晕和波浪|||||混合选项---柔光)