最近工作陆续生产了一些方便开发的工具类,尽管最终没被收入使用,但不妨碍个人使用,故特此开一篇博文,也记录一些自己踩的坑。 UIGestureRecognizer+Block 简单来说,你可以这样使用 UIGestureRecognizer: [self.view addGestureRecognizer:[UITapGestureRecognizer gestureRecognizerWithActionBlock:^(id gestureRecognizer) { //... }]]; 不再需要繁琐地使用 selector 反射,也解决了代码分离的问题。 实现代码如下: static const int target_
已经被玩烂的题目,纯粹好玩,直接上代码吧。 定义树: class Tree { var key: Int var leftTree: Tree? var rightTree: Tree? init(key: Int) { self.key = key } } 非递归实现 思路:广度优先。从上往下,从左往右。
很惭愧,标题很浮夸,其实就是消息转发啦。想这个标题想了很久,本想着取个形象生动有意思的标题,不想水平不够,于是就搞了这么个奇怪的名字出来。但今天这篇博客的确有那么点一箭双雕的意思。 摆事实,讲道理。我们先看这么一个场景。我正在写一个自定义的 TableView 滚动条,可以实时显示当前 Cell 的编号,比原生的黑条更具可视性。 实现原理也很简单,KVO 监听 contentOffset 然后根据 public func indexPathForRowAtPoint(
昨天遇到了一个棘手的问题,我发现我的 App (iOS 9.2/iPhone 5s/Swift/CocoaPods)启动巨慢,通过 device log 一看,我的天呐!7.9s? Apr 2 21:33:27 Kittens-iPhone5S Cosmos[309]
最近这段日子,我在北京,见了好多好多的人,有新朋友,有老朋友,听了形形色色的故事。一个晚上,我约了 leon 在车库咖啡叙旧,leon 是我大学时期认识的一个创业小伙伴,就读清华。酒过三巡,leon 突然抛出一个问题:"你认为作为一个个体如何才能在竞争中突围?"我当时没有给出满意的答案,不是我说不上来,而是有太多想说以至于我不满足于只通过廉价的口头表达,我更希望用文字的形式系统性地呈现出来。回到酒店,我总觉得心里塞着好多东西驱使着我写点什么却又不知从何下笔。我冲了个澡,理了理思绪,才写出了第一段话。
一直以来,我都很讨厌「职业规划」这几个字。我认为人的一生不是靠规划出来的,都是走出来的。我前二十几年的人生经历深刻地教育了我一句话:「计划赶不上变化」。然而话虽如此,我们也不能一点不去计划,至少大方向还是要有的。二十多年了,你也应该知道自己擅长哪方面、喜欢哪方面了。以及一些人生观价值观的建立,你也应该知道自己未来想要成为一个什么样的人。所以我就试着给自己拟了个「职业规划」。 1.0 版。 一想到一辈子做个安逸的工程师,老了回想起来的只有整天坐在办公椅上的背影,我就感觉害怕,我觉得这不够 exciting。
首先明确几个函数: 输入一个 NSQualityOfService qos ,输出一个 YYDispatchContext 输入当前的 context,输出一个队列 dispatch_queue_t 输入 NSQualityOfService,输出 qos_class_t 输入 NSQualityOfService,输出 dispatch_queue_priority_t 输入原始信息
之所以取名《贝壳集》,是因为我一直有很多人生感悟。这些零散的思绪就像我沿着长长的海岸线漫步时捡起的贝壳。我不知道是好事还是坏事。我也不知道这些感悟是对是错。我一直想利用我理性之外的其他天赋,证明我还可以做很多事。 2015.1.13 过度谦虚就是装逼。 2015.12.13 最近我像是变了个人,我开始研究做饭,开始洗床单,学了车,学会了修马桶,查了买房政策,了解了第一次那啥的注意事项等等等等。我开始意识到我不再是个男生了,我要开始像个男人了。 2015.12.
本文摘录自 A GUIDE TO IOS ANIMATION,中文名:《Kitten 的 iOS 动画学习手册》。这是一本非常有趣地介绍 iOS 动画的交互式电子书,提供生动的可交互式元素、视频以及精心制作的配图,让你在前所未有的阅读体验中学到干货。购买方式请看我的 置顶微博 。 这是本章的第二个 demo,下面这个案例中,我把线条动画和数学知识结合在了一起。通过这个案例,可以很好地向你展示如何自己归纳出一个数学公式,并把它用到一个自定义动画中。
这次的主题的 Runtime ,对于很多人来说,习惯了面向对象的编程语言之后再接触 C 语言一开始是拒绝的。但是当你真的用起来了,你会上瘾,因为这彻彻底底地满足了极客们的折腾心理,用代码操控一切的心理。 就拿我做大象公会的例子来说(对了,这是我在 Smartisan 的第一个项目,也是独立开发的一款App),你知道 Smartisan 一贯的软件设计风格都是拟物化的,真实模拟着现实世界的自然规律。大到一个动画小到一个按钮,无处不体现着这一设计之初就贯彻的理念。然而这对于一个 iOS 工程师来说,不得不说是一个噩耗。