The compiler is unable to type-check this expression in reasonable time; try breaking up the express

简介: The compiler is unable to type-check this expression in reasonable time; try breaking up the express

/Users/jiaguoshang/Downloads/OnlineShopDemo-master/SwiftOnlineShopDemo/SwiftOnlineShopDemo/ViewController/CFClassificationController/CFClassificationController.swift:66:53:

The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions

This error generally occurs when a single expression is doing a lot of things. So compiler tells you to break it to sub-expressions.

一个单个的描述(判断条件)做了太多的事情。

老程序猿经常用这样语句来显示自己的水平多高,代码多精简。但是对有些程序猿理解不是那么一目了然。现代语言(js,swift,Kotlin),强类型的语言。可以做到言简意赅,类型推导,利于理解,不是增加理解的难度。 swift禁止这种耍大牌,直接给你编译不过。解决很简单:就是把它分成几个小语句替换了就可以了,也就是语句拆分。

        let y = rect.origin.y - leftTableView.mj_offsetY
        let h = leftTableView.mj_h - 44 * 3 - 1
        if y >= h {
            
            let contentOffset_y = leftTableView.mj_offsetY + 44 * 3
            
            if total_offset - leftTableView.mj_offsetY < 44 * 3 {
                //判断ios 11直接设置偏移无效,我也没弄懂,必须延时才有效
                
                DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
                    self.leftTableView.setContentOffset(CGPoint(x: 0, y: total_offset), animated: true)
                }

            }
            else
            {
                DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
                    self.leftTableView.setContentOffset(CGPoint(x: 0, y: contentOffset_y), animated: true)
                }
            }
        }


目录
相关文章
|
存储 iOS开发
SwiftUI极简教程17:Gestures手势的使用
SwiftUI极简教程17:Gestures手势的使用
1354 0
SwiftUI极简教程17:Gestures手势的使用
|
数据安全/隐私保护 iOS开发 开发者
iOS 逆向编程(十八)Reveal 详细安装(以及安装问题解决)(上)
iOS 逆向编程(十八)Reveal 详细安装(以及安装问题解决)
1098 0
|
iOS开发
SwiftUI极简教程13:NavigationView导航栏使用
SwiftUI极简教程13:NavigationView导航栏使用
2637 2
SwiftUI极简教程13:NavigationView导航栏使用
SwiftUI—使用section将列表分为几个组
SwiftUI—使用section将列表分为几个组
1093 0
SwiftUI—使用section将列表分为几个组
|
机器学习/深度学习 并行计算 计算机视觉
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
11905 1
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
|
编解码 内存技术
四款好用的免费直播编码推流软件
现代生活已经离不开互联网,离不开软件了。 这说法毫不夸张。 比如手机上各种APP眼花缭乱 ,各种行业, 各种功能, 各种Logo, 各种的各种。 没有良好的整理力,是真 的不好意思让别人看到啊。 这些功能各异的APP程序大多数是免费APP。
7844 0
|
搜索推荐 安全 API
|
iOS开发
IOS编译出现Command PhaseScriptExecution failed with a nonzero exit code
IOS编译出现Command PhaseScriptExecution failed with a nonzero exit code
3102 2
|
存储 Swift
大师学SwiftUI第18章Part3 - 自定义视频播放器
录制和播放视频对用户来说和拍照、显示图片一样重要。和图片一样,Apple框架中内置了播放视频和创建自定义播放器的工具。
696 0