【已解决】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但是如果自己手动敲出来还是可以识别的

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一“技”之长

iOS第三方文件压缩框架——Godzippa 原

    Godzippa是iOS开发中常用的一个第三方数据压缩框架,其采用类别的方式,为NSData类与NSFileManager类提供了压缩和解压缩数据的方法...

8610
来自专栏iOS开发日记

iOS开发系列——第一个iOS程序和运行过程

这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大...

41760
来自专栏青玉伏案

IOS开发之新浪围脖

  IOS开发和Web开发一样,网络请求方式包括Get和Post方式。Get和Post两者有和特点和区别,在本篇博客中不做过多的论述,本篇的重点在于如何GET数...

23450
来自专栏DannyHoo的专栏

SDWebImage\ASIHttpRequest是第三方库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

11530
来自专栏娱乐心理测试

iOS 如何把图片资源打包成bundle文件及遇到的坑(详解)

(1.)"Base SDK" 设置为 "Latest iOS (iOS 11.2)" (Xcode 9.2为例)

36120
来自专栏進无尽的文章

实践-小细节Ⅶ

所以网页的y 坐标是 0 ,但是在 iOS 11里面就是无法在 状态栏上显示,iOS11下的系统不会这样会占用 状态栏的位置

8620
来自专栏一“技”之长

iOS运用runtime全局修改UILabel的默认字体

        在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊设置了字体的labe...

15050
来自专栏移动端周边技术扩展

UITableView+FDTemplateLayoutCell于framework兼容问题

20660
来自专栏Youngxj

tooltip(title美化)教程——jquery的特效

31040
来自专栏iOS 开发杂谈

App的生命周期

注意: application:didFinishLaunchingWithOptions:: App 首次启动时调用,一般在这个函数里创建 window 对...

25010

扫码关注云+社区

领取腾讯云代金券