常用的Attributes

昨天看了YYCache的源码,发现里面经常用到了__attribute__attribute是GNU的一种编译指令在声明的时候指定某种特性,能做多样化的错误检查和高级优化。在iOS的系统库里面会经常用到,例如:NS_AVAILABLE_IOS(8_0)展开来就是__attribute__(availability(...))

阅读全文

hidesBottomBarWhenPushed进入下级页面时,底部Tabbar会有一闪的隐藏动画

众所周知,从TabBarViewController页进入下一级页面的时候,可以通用hideBottomBarWhenPushed这个方法来隐藏底部的TarBar。
但是这会有一个小问题,如果你下一级页面里面包含着一个View,它的底部约束是相对于BottomLayoutGuide,在进入下一级页面的时候会有闪一下,Tarbar才会消失。原因是因为BottomLayoutGuide这个问题,要么你的View高度等于ViewController.view的高度,要么就使用下面这个方法:

阅读全文

网络层架构的认识

项目越来越大,发现原来项目的网络架构扩展性比较差,想来想去,还是去了解一下新的架构。而正好,有个项目要把整个API换新的,于是改!!!!

想必绝大部人都看过casatwy大神iOS应用架构谈 网络层设计方案这个文章。我也是参考了他的架构,同时也看了猿题库网络库的源码,总的来说,它们俩的思路差不多,但实现有些许差别。

阅读全文

ThreeSum 的 swift实现

第一次刷leetcode,觉得收获挺多的

阅读全文

事件传递:响应链

原本自已想写点一些关于这个的,找了官网看一了一下文档。感觉文档讲得很不错,所以就翻译一下文档就好了,当作是锻炼自已的英语水平吧。ps:可能偶尔会加上一些自已的看法,如有不对,请多多指正。

向官方文档致敬

阅读全文

CocoaPod 为自已创造私有库

简介

没啥好说的,这个东西做iOS的都认识。

前段时间,把自已的一些库给弄出来,做一个私有库,记下来当作笔记。

阅读全文

iOS自动构建-xcodebuild命令

想想当初天天来到公司,每天需要做一件事就是打开Xcode打包ipa,上传到fir。日复一日月复一月年复一年的做着同样的事情,作为有志成为优秀工程师的我来说,这是必须要解决的问题,所以决定自动化解决问题。

简介

xcodebuild 是苹果发布自动构建的工具。它在一个Xcode项目下能构建一个或者多个targets ,也能在一个workspace或者Xcode项目上构建scheme,总的来说,用它没错就是了。

阅读全文

Keychain

Keychain 介绍

Keychain Services 是 OS X 和 iOS 都提供一种安全地存储敏感信息的工具,比如,存储用户ID,密码,和证书等。存储这些信息可以免除用户重复输入用户名和密码的过程。Keychain Services 的安全机制保证了存储这些敏感信息不会被窃取。简单说来,Keychain 就是一个安全容器。

阅读全文

回首2015,计划2016

2015年总结

每当回首过去,总发现时间过得很快。2015也不例外,2014年虽然有目标,但是自己并未记录下来,但是大概能记住去年的目标。

阅读全文

ReactiveCocoa 笔记(一)

前言

ReactiveCocoa一直在各大名博上面推荐,今天我找个时间特意学习一下。

众所周知,ReactiveCocoa是一个函数响应式编程的框架。那我们在学习之前最好了解一下什么是响应式编程。

函数响应式编程(Functional Reactive Programming,简称FRP)
采用别人的一个小例子:

a = 2
b = 2
c = a + b // c is 4
b = 3
// now what is the value of c?

如果是像我们日常的OOP,那c的结果应该是4。但是是FRP,c的值会随着b的变化而变化,也就是说当b=3时,c应该是5。
比较直观的例子就是Excel,当改变某一个单元格的内容时,该单元格相关的计算结果也会随之改变。

阅读全文