type
status
date
slug
summary
tags
category
icon
password
最近好像这个话题很热啊,我不生产
奇技淫巧
我是大自然的搬运工结构体简便初始化
三元条件表达式的两元使用
到这里让我想起了一个笑话
C有一个鲜为人知的运算符叫”趋向于”, 写作“–>”。比如说如果要实现一个倒数的程序,我们可以定义一个变量x,然后让它趋向与0:
会打印出:
9 8 7 6 5 4 3 2 1 0
数组的下标初始化
这个特性可以用来做枚举值和字符串的映射
可变参数类型的block
一个block像下面一样声明:
如果block的参数列表为空的话,相当于可变参数(不是void)
这样,block的主调和回调之间可以通过约定来决定block回传回来的参数是什么,有几个。如一个对网络层的调用:
主调者知道自己请求的是哪个Api,那么根据约定,他就知道block里面应该接受哪几个参数:
这个特性在Reactive Cocoa的-combineLatest:reduce:等类似方法中已经使用的相当好了。
小括号内联复合表达式
A compound statement enclosed in parentheses
原谅我的渣翻译- -,来自《gcc官方对此的说明》,源自gcc对c的扩展,如今被clang继承。于是乎可以发挥想象力了:
有点像block和内联函数的结合体,它最大的意义在于将代码整理分块,将同一个逻辑层级的代码包在一起;同时对于一个无需复用小段逻辑,也免去了重量级的调用函数,如:
这样使得代码量增大时层次仍然能比较明确。
PS: 返回值和代码块结束点必须在结尾
快捷的收键盘代码
去掉导航条返回键 title
改变uitextfield placeholder的颜色和位置
电话 xxxx转xxxx
一般客服电话经常会出现需要转接分机的情况,比如 10010转6666 的形式,只需要如下的 URL scheme 就可以了:
拨打的时候会首先拨通 10010,接通之后会紧接着按下6666四个数字