最近都是在用Swift, 深深的理解到Swift的安全性. 这种安全是体现在你不需要等到程序运行期间去发现错误, 而是在编译的期间,Xcode就帮你检查出来了. 这里不做详细讨论. 我下面所记录的是在OC中, 如何选择更好的方法, 去让编译器帮你检查错误.
今天看狐狸狗的Demo, 我先他里面有一代码是这么写的:
就是一个actionSheet 代理方法里面根据buttonIndex的值去执行对应的方法然后我就好奇,为什么不直接用:
went后来我想了一下, (可能也是Swift写了多段时间之后的后遗症) 就发现其中可能出问题的几个点:
1, 如果这个时候self 为 nil
2, 如果self 自己本身那3个方法被改了名字
1,什么都不会发生
2,会引起: unrecognized selector sent to instance
如果按上面的写法,
就不会存在这样的问题, 当我的方法名字被修改了时候:
Xcode会帮你检查一次错误
网友评论