美文网首页程序员
Swift趣闻--同名就是伤害

Swift趣闻--同名就是伤害

作者: 蝴蝶之梦天使 | 来源:发表于2018-08-17 18:21 被阅读30次
图片来之网络

一个无解的问题
一个不是问题的问题
一个值得好好思考的问题

1. 背景

随着swift版本迭代到4.1,越来越多的公司已经开始swift和OC的混合开发,或者swift的重构,或者新项目的swift使用。所以我觉得有必要,在项目中添加使用swift了,不然被时代淘汰了。
当时感触最深的还是,常用的OC第三方库已经停止更新,或者更新缓慢。加上swift第三方库的完善并且版本更新快。
果断搞起,先混编吧。学习了一遍swift4.1语法.

2. DispatchQueue无法使用

写着swift感觉就像回到了大学时代,满怀激动。一切都很顺利,很流畅,很简洁,很多警告。_ !!^^ !!^^ !_!(心情是这样的)
突然碰到需要延迟处理时,碰到了“Use of unresolved identifier 'DispatchQueue'”的错误提示。

DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
            self.commitBtn.isEnabled = true
        }

查询了千山万水,但是发现没有解。

3. 解决方法

最后的最后等我查看到DispatchQueue的module名称为Dispatch的时候,我突然有了一个想法。这个名字为何那么的熟悉。是的,项目Target名称也叫Dispatch。
赶紧新建一个项目,跑了下DispatchQueue.main.asyncAfter代码,God,执行是成功的。是的,我猜的没有错。同名就是伤害啊。
默默的新添加Target名称为Dispatcher,将之前Target为Dispatch的移除,修改Info.plist和Pod,打包工具。然后编译成功后,再来执行

DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
            self.commitBtn.isEnabled = true
        }

运行成功。

4. 总结

系统或第三方用到的Module名称,千万不要与我们的Target同名,不然会碰到神都无法解的问题。阿门。

// END 2018年8月17日 闲来无事挂心头,便是人生好时节

相关文章

  • Swift趣闻--同名就是伤害

    一个无解的问题一个不是问题的问题一个值得好好思考的问题 1. 背景 随着swift版本迭代到4.1,越来越多的公司...

  • 小众香水选购指南(三)

    01 TaylorSwift 丛林仙子 Wonderstruck 霉霉的同名自创品牌Taylor Swift 和霉...

  • 伤害就是伤害!

    从小我们就被教育要做一个大度的人,甚至说:请感谢欺骗你的人,因为他磨练了你的心智;请感谢侮辱你的人,因为他觉醒了你...

  • iOS - swift 拓展问题

    在学习swift拓展的时候发现跟OC不同点就是不能和拓展类函数名同名,那如何才能使用拓展来替换原函数名呢? 建议先...

  • 天天趣闻邀请码天天趣闻邀请码88QOXI天天趣闻邀请码忘你是对我

    天天趣闻邀请码88QOXI天天趣闻邀请码天天趣闻邀请码别抱憾,天天趣闻邀请码别嗟叹,别怨恨,不要去害怕犯错...

  • swift不支持函数同名解析

    在斯坦福讲授的第二课中在写同名函数时遇到一个奇怪的错误 错误提示 具体原因是因为当前使用的viewControll...

  • 伤害别人就是伤害自己

    每一个自私自利的人都想被人爱,被人关心、拥有自己想过的生活。就算有一个爱你的人出现在你的面前,时间久了也会离你...

  • 伤害就是伤害,不可原谅

    小A说,我的男友劈腿了,不仅如此,他还狠狠的数落我,仿佛他所有的错误都不应该由他担负,而是我的原因。当他搂着那个女...

  • 伤害别人就是伤害自己

    终于明白,你、我、他都是一体。 当意识到,自己伤害了别人时,实际上,不管你当时是多么爽快,不安和愧疚终会涌上心头。...

  • 伤害别人就是伤害自己

    我们每个人都想成为大人物,或者成为别人眼中有用的人。成为这样的人的确不错,但更重要的是时刻保持友善。 如果你对他人...

网友评论

    本文标题:Swift趣闻--同名就是伤害

    本文链接:https://www.haomeiwen.com/subject/cjktiftx.html