【已解决】Xcode代码提示变量为Error Type

Xcode代码提示变量为Error Type

我之前使用Masonry布局时候经常需要设置偏移量,但是呢在设置布局哪里设置死数据不方便进行调试更换就想用一个变量。

我声明一个Struct储存一个试图的上,左,下,右的偏移量和宽度和高度。

public struct CWSize {
    public var top:CGFloat = 0
    public var leading:CGFloat = 0
    public var bottom:CGFloat = 0
    public var trailing:CGFloat = 0
    public var width:CGFloat = 0
    public var height:CGFloat = 0
    public var size:CGSize {
        return CGSize(width: width, height: height)
    }
}

我声明UIView的扩展

public extension UIView {
    
    public func cw_makeSize(_ block:(_ size: CWSize) -> Void) {
        let size = CWSize()
        block(size)
        objc_setAssociatedObject(self, "CWSize", size, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
    }
    
    public func cw_makeConstraints(_ block:(_ maker: ConstraintMaker, _ size: CWSize) -> Void) {
        guard let size = objc_getAssociatedObject(self, "CWSize") as? CWSize else {
            return
        }
        self.snp.makeConstraints { (maker) in
            block(maker,size)
        }
    }
}

看着没什么问题,但是在Xcode敲代码时候提示 Error Type就是死活不提示,很不方便。

view.cw_makeSize({ (size) in
    size
})

解决办法

我调用是在一个属性的懒加载的方法里面进行调用的会提示Error Type但是如果自己手动敲出来还是可以识别的

我在懒加载方法之外调用就可以完全的提示了,虽然解决了,但是在懒加载的初始化方法里面为什么不能提示暂时不知道什么原因

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,648评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,136评论 25 709
  • 今天小六洗澡了,以后天天给它洗澡。
    小王很厉害阅读 1,409评论 0 0
  • 36期亲子班第6组-殷光琴 (张镐然10岁)加油! #口号(和孩子一起成长) 孩子第二个30天目标: 1、英语单词...
    yincarol琴阅读 1,454评论 0 0

友情链接更多精彩内容