Matt Reach

「Stay Hungry, Stay Foolish」

免费图片压缩工具-ImageOptim

背景 昨天发布的博客 港版苹果充电器DIY全过程 里使用了太多的图片,看了下好几十兆大,这怎么能行呢,作死的节奏啊!所以找了一款 mac 无损图片压缩工具 – ImageOptim ,压缩比特别高,支持 PNG/JPEG/GIF 等主流格式,并且是免费的! 可以直接拖入文件夹批量处理,也可以直接拖入图片,默认自动开始处理;亲身感受如下, 这是我昨天博客的图片: ...

港版苹果充电器 DIY 全过程

中秋节到了,先说声:“中秋接快乐” ! 昨天晚上手机没电了,怎么办?这还用问!?脑瘫么?哦,不是啦;木有充电器啊,那就用电脑充吧,土豪么,吊!之前是用我的pro充,这次用公司发的电脑吧,两年不用忘记了windows睡眠了,结果第二天手机还是不到百分之三十的电量!这就是没有充电器的不便啊!我有港版的充电器啊,可是大陆的插排不能用啊,我有个插排,可以插上,可是不通电啊,仔细观察了下是因为港...

ViewController 子控制器 view 的大小问题

ViewContrller 管理的 view 的大小是如何确定的? 不同的系统版本 View 的大小一样吗? 用 ViewContrller 管理的 view 的大小如何优雅的控制? 这些问题是我在写项目的时候遇到的,比较有感受;我写的是一个只支持横屏的 iPad 项目,view 比较多,因此按区域划分为好几个控制器分别管理,为了确保使用期间对象的安...

ACM-过河问题

在我的一个群里,小伙伴发了一道题,考察下算法,自己试着想了想,拿出来一起看下吧,下面是题目: 在漆黑的夜里,N 位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N 个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N 人所需要的时间已知;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所...

无限循环轮播图

我们的 App 要展示广告,形式为几张循环滚动的图片,俗称 Banner,这里我称之为轮播图。 我写了两个版本一个 EY 版和一个 EZ 版,区别是实现方式的不同:EY 使用 ScrollerView,最多会有 3 个子 view ,EZ 使用 CollectionView,她有重用机制,所以最多会有 2 个子 view;轮播的触发使用了定时器,这个已经解决了循环引用问题,直接使用了,...

学习多线程需要明白的概念

学习多线程开发前,我们需要知道很多的概念,这也是我曾经比较困惑的,至少别人问我的时候,我说不清楚,下面就针对这些概念总结下: 进程 操作系统早已经是多任务的了,早期她还有个名字叫多道程序;正是这个伟大的发明,我们才能享受一边听歌,一边写文档,一边聊天的乐趣;其实我们运行的程序都是来回切换的,只不过速度过快,我们无法感知而已,如何切换是由操作体统调度的,有相...

解决 NSTimer 内存泄漏问题

NSTimer 是 iOS 很常用的一个类,可以很方便的做延迟任务,也可以做周期性的轮询。不过我在写轮播图的时候却发现 Timer造成了内存泄漏! 背景 我在 ViewController 里使用了 Timer,结果发现 pop 掉该控制器后,他的 dealloc 却没有调用!这是个内存泄露的问题,比较严重,要尽快解决! 分析原因 在使用 Timer 的时候,...

Hello My Blog

出于对前端的兴趣和 markdown 的热衷,于是今天摸索着搭建了一个使用 markdown 写文章,经过 jekyll 解析生成静态站点,发布到 github 的博客,折腾过程中还学习了些前端的知识! 在此之前曾在 新浪博客,CSDN 上写过几篇文章,可是未能坚持下去。 写博客的过程也是自我认识和能力提升的一个过程,因为要把一个不熟悉的东西说清楚真的很困难,有困难才会有进步,不...