入职一月小记

加入Thoughtworks差两天就整整一个月了,由于明天(4月1日)办公楼检修电路,因此调休一天,难得休息下来,好好整理下最近各种强烈的感受。想写的太多!太多!太多!

正式入职的前几天,是在惶恐中度过的,周围同事太过优秀,愈加的让我显得那么渺小和微不足道。

Read More

《Effective obj-c 2.0》笔记

语法糖创建的对象,是不可变的,若想要可变对象,需要调用mutableCopy


@class

应该将引入头文件的时间尽量延后,只在的确需要时才引入,这样就可以减少类的使用者所需引入的头文件数量。如果把头文件写在.h中,那么就会造成直接引入头文件所有内容。此过程若持续下去,则要引入许多根不用不到的内容,这会增加编译时间。

减少#define的使用

在开发的过程中,我们会使用#define定义一些长宽或者动画时间等可能需要不断修改
的数值,这些都是没有类型的值。

Read More

iOS开发的一些误区

在自定义navigation push动画的时候,切记不要将下面这个方法的animated设置为NO

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated `</pre>
这个是我自己作死造成的教训,由于之前没接触过自定义动画,原本想着取消自带的动画,这样才可以添加新的自定义动画。

导致我在屏蔽了原有的push动画后,调用UINavigationControllerDelegate的方法一直无法执行的问题。
<pre>`- (id &lt;UIViewControllerAnimatedTransitioning&gt;)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC 

最后才自己找见原因所在…真的是快要放弃的时候了,然后将animated改了回来,发现代理开始执行了,才意识到自己走入一个误区,并不是屏蔽了原有的动画效果才能去创建自定义动画,而是对原有的进行修改。

血泪教训啊。。。耽误了好久,不过问题最终解决了就好。

《Clean Code》笔记

避免在代码中使用魔法数字,再次之前我一直认为数字的出现影响对代码的可读性。

刚才在看《Clean Code》的时候,才了解到,如果代码中包含了大量的数字,会造成我们搜索上范围的扩大。

也许我们需要搜索一个标签代码,内容是的数字,但是你输入这个数字,出现了许多其他类中的魔法数字,大大降低了我们在代码搜索中的效率。

Read More

新年记事

下午听了tinyfool和ibuick在比特新声的播客,由于急着出门,第一部分也才听了半个多小时,其中讲到了任何行业中,写作这项技能对人的重要作用,虽然只是简单聊了几句,没有扩展开讲,听后我还是十分认可这一观点。写的清楚文字,说明你对问题了解的更透彻。

想起自己已经好久没有在博客上写东西了,倒是DAYONE上的记录多了不少。今天是农历一月初八,新年刚刚结束,大家都已经开始忙碌的工作,我由于是新入职,所以会到3月2日才去上班。

刚好利用多出来的几天假随便写写。

Read More

Thoughtworks面试之旅

2015年刚开始,就有幸得到了去Thoughtworks面试的机会,作为世界一流的软件服务提供商,其在西安也是许多人非常向往的环境。

有着美国企业的早晚不打卡制度,十分舒适的办公环境,以及能够接触到敏捷开发和与大牛一起工作的机会。

在朋友的推荐下,拿到了面试的资格。

Read More

眼见不一定为实

在解析JSON时候,很多人会将解析后的数据赋给NSDictionary,通过key值取到相应的value。

有时候我们会对数据进行增删。

面对要删除某一个key下的数据,第一反应是使用可变字典,将解析后的数据赋给其,但在使用过程中发现,执行removeObjectForKey方法后,程序不断崩溃。

但在正常使用中却没有任何失误,依然可以使用其他方法,进行取key或者value,这种情况让人实属迷惑。仔细阅读一下报错信息。

Read More

Reeder 2 产品简要分析

Reeder 2目前在App store新闻类应用付费排行中,位于第二位。是在Google Reader关闭后,在Mac和iOS平台上使用较多的客户端,其一直保持着良好的口碑,不仅支持其他平台的接口,还坚持自己做后台,为用户提供RSS聚合服务 。

Read More

iOS 文件写入沙盒

刚好项目中用到了文件写入沙盒,自己就将文件夹创建和文件写入封装到一个类中,为了以后方便使用。

GitHub地址:MSSandBoxCache

  • 可在沙盒中创建文件夹
  • 可保存图片至沙盒中
  • 可保存文字、数组或字典到文本中,并且可以再次拿到