美文网首页
Swift错误收集

Swift错误收集

作者: flowerflower | 来源:发表于2018-05-03 17:18 被阅读76次

    一、Declarations in extensions cannot override yet

    图片.png
    错误来由:

    swift 语言版本升级而产生的问题,从 3.0 升到 4.0 之后,如果你有重写 extension 中的方法,就会出现这个报错。官方在swift 4.0 中不推荐重写 extension 中的方法

    解决方式:

    在基类中被重写的方法前面加上 @objc就可以了。

    //3.0版本
    extension BaseUIViewController{
       func setupUI()  {
            // 基类的实现代码
        } 
    }
    
    
    //4.0版本
    extension BaseUIViewController{
     @objc  func setupUI()  {
            // 基类的实现代码
        }
    }
    
    

    二、Type 'Any' has no subscript members

    图片.png

    在Sift4中参数都是Any类型的,而在Swift3中参数类型是AnyObject


    Sift4中参数类型.png

    在swift3中是没有问题的,但是在Swift4中必须将json从更改AnyObject为Any。必须将Any投射到AnyObject。

    三、Swift使用YYModel需注意:

    因为YYModel是OC的框架,所以需要在Model中加上@objcMembers,否则加载不到数据

    >没加之前
    图片.png
    >加之后
    图片.png 图片.png

    四、用OC写的项目,然后pod中导入Swift库时报错

    Snip20180503_27.png

    参考解决方式

    有人在stack overflow贡献出这样的答案

    图片.png
    我去 结局咋么还是一样。不服 。。。操作了咋还给我报这个 。。

    于是手抖 发现 只要修改了Swift Language Version,再直接在终端 cd到自己的工程的路径 执行一次pod install即可

    经历过程: 我只对TARGETS->Build Settings ->Swift Language Version 修改成了4.0,然后再cmd+shift+k 编译还是报错 ——> cmd+Q -> 打开项目->cmd+shift+k 还是不行->最后再cd到自己的工程的路径 执行一次pod install即可 ->编译成功

    相关文章

      网友评论

          本文标题:Swift错误收集

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