登录 立即注册
金钱:

广州快乐十分开奖记录

快乐十分广西开奖官方:Swift趣闻--同名就是伤害 [复制链接]

2018-10-29 10:15
ceshishangchuan 阅读:310 评论:0 赞:0
Tag:  

广州快乐十分开奖记录 www.2hyn.net 一个无解的问题
一个不是问题的问题
一个值得好好思考的问题

1. 背景

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

2. DispatchQueue无法使用

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

1
2
3
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,打包工具。然后编译成功后,再来执行

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

运行成功。

4. 总结

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

分享到:
我来说两句
facelist
您需要登录后才可以评论 登录 | 立即注册
所有评论(0)
关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
[email protected]
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|广州快乐十分开奖记录 ( 广州快乐十分开奖记录 )

返回顶部