题目没想好, 写代码的时候考虑全面点吧

最近都是在用Swift, 深深的理解到Swift的安全性. 这种安全是体现在你不需要等到程序运行期间去发现错误, 而是在编译的期间,Xcode就帮你检查出来了. 这里不做详细讨论. 我下面所记录的是在OC中, 如何选择更好的方法, 去让编译器帮你检查错误.

今天看狐狸狗的Demo, 我先他里面有一代码是这么写的:


就是一个actionSheet 代理方法里面根据buttonIndex的值去执行对应的方法

然后我就好奇,为什么不直接用:


went后来我想了一下, (可能也是Swift写了多段时间之后的后遗症) 就发现其中可能出问题的几个点:

1, 如果这个时候self 为 nil

2, 如果self 自己本身那3个方法被改了名字

1,什么都不会发生

2,会引起: unrecognized selector sent to instance


如果按上面的写法,

就不会存在这样的问题, 当我的方法名字被修改了时候:


Xcode会帮你检查一次错误
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,841评论 0 9
  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,569评论 0 12
  • 我是谁? 物质的还是精神的? 为什么来到这里? 你是谁? 骑着摩托风弛电挚在堤上东行 我躺在你的后面 看见了蓝天辽...
    一枚冰儿阅读 160评论 1 0
  • 原文 子曰:攻乎异端,斯害也已。 释文 孔子说:批判其他不同立场的说法,难免造成争论不休的祸害。 面对事物的不同看...
    番茄妈阅读 120评论 0 0
  • 分为3部分。 1.HTML。显示页面 2.表单form。填写表白的对象和话。 3.数据库mysql操作。插入数据,...
    aeeda10cd99d阅读 786评论 0 1