KickStarter移动端架构初窥

MVVM架构如今在iOS开发中已经很常见了,网上关于MVVM架构的文章也很多,但是绝大多数的资料在讲解ViewModel和ViewController之间的互相绑定关系时,并没有从整体上构建出一个架构。KickStarter的iOS客户端代码是去年开源的,笔者刚开始入门RAC的时候并没怎么理解,现在过了几个月熟悉了RAC的那一套后,回过头来再看代码发现KickStarter的MVVM架构结构非常清晰,而且将大部分的逻辑代码很好的从ViewController中抽离了出来,下面就简单描述下KickStarter的MVVM架构

阅读全文

Swift和OC混编Tips-1

如何在OC中使用Swift中定义的protocol
在iOS开发中delegate常常用于几个对象之间信息的传递以及交互,比如UITableView的delegate。在混编项目中,有时候会需要OC实现Swift定义的protocol,然后在Swift中调用OC实现的函数。通常我们定义一个protocol很简单

阅读全文

Swift和OC混编--记一次Xcode的提示和高亮失效  

前几天自从项目的某个commit开始,Xcode的编译时间至少长了一半,同时代码的高亮和代码补全也无法正常工作,那几天就是像在用记事本在写代码,今天稍微调查了下,找到了原因,原来是有一个commit添加了一个用swift实现的AppDelegate类的扩展方法。然后由于要在AppDelegate中使用这个扩展方法,就在OC和Swift的桥接头文件中加了这么一行

阅读全文

iOS关于复杂View的横屏竖屏UI的对应

最近遇到一个小问题,就是无法通过单一的AutoLayout来自动调整View的横屏UI,其实解决方法很简单,就是针对横屏竖屏定义两套AutoLayout,但是有时候View的嵌套比较多,这时候就很容易漏掉更新某些View的Constraint,导致UI没有正常的显示,自己暂时用下面的方法解决了一下。

阅读全文

AutoLayout笔记

参考资料:
Apple官方AutoLayout资料
iOSエンジニア必見!!iOSのレイアウトで押さえておきたいこと【総集編】

阅读全文

ReactiveCocoa简介

Update:2017-06-11:
更新一些最近找到的比较好的资料
rx对于数据流的处理
ReactiveCocoa操作方法
用 ReactiveCocoa 事半功倍的写代码(OC版本)

阅读全文

To the Moon

GameScreeShot

前几天微博和QQ群里的人都谈到这个游戏,正好移动版上架,就下来玩了下。(注意,下面的内容含有剧透)

游戏讲述的是两位医生(来自某高科技机构,可以通过篡改人的记忆,改变记忆中自己的人生)帮助一位垂危的老人John实现最后的梦想-飞到月球。但是John自己却不清楚为何要飞向月球,于是两位医生就进入John的记忆中,探寻老人梦想飞向月球的原因。

阅读全文

上班后第一个黄金周

日本5月有3天的祝日,今年是3号-5号,然后加上周末的话就是5连休,要是放假前的1号2号也请假的话,加上上个周末最长可以凑出个9连休,算是日本除了年末放假最长的一个假期了。不过意外的是公司里可能一半人左右都没请那两天假,可能是大家社畜的属性值比较高,那几天刷推看到有推友吐槽放假的说:「在公司是社畜,在家是家畜」。

阅读全文

代码简洁之循环和逻辑简单化

From: The Art of Readable Code

Chapter 7

1)if条件中不变的值要放在右边。至于为了防止==号误写为=导致赋值的情况下,有把不变量写在左边的方式,也还是建议将不变量写在右边,因为利于理解

阅读全文

利用AFNetworking自动更新Token

在进行API请求时,会遇到Token过期的情况,解决这个问题有几种办法,一种常用?方法是在回调里面检查是否过期,如果过期了,重新向服务器请求新的token,但这样不免显得繁琐,其实利用block可以换一种方法,今天在stackoverflow上看到的,就是重写AFURLSessionManager 中的dataTask方法

阅读全文