前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【已解决】Xcode代码提示变量为Error Type

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

作者头像
君赏
发布2018-09-07 14:49:00
7000
发布2018-09-07 14:49:00
举报
文章被收录于专栏:君赏技术博客君赏技术博客

Xcode代码提示变量为Error Type

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

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

代码语言:javascript
复制
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的扩展

代码语言:javascript
复制
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就是死活不提示,很不方便。

代码语言:javascript
复制
view.cw_makeSize({ (size) in
    size
})

解决办法

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.08.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Xcode代码提示变量为Error Type
    • 解决办法
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档