首頁  >  問答  >  主體

ios - Value of type '() -> ()' can never be nil

1.升级Xcode之后,之前代码报错,报 Value of type '() -> ()' can never be nil, comparison isn't allowed

2.相关代码

if (self.action == nil) {
            return;
        }

self.action == nil 报错了。

 if refreshTempAction != nil {
                    refreshStatus = .Refresh
                    self.startAnimation()
                    UIView.animateWithDuration(0.25, animations: { () -> Void in
                        if scrollView.contentInset.top == 0 {
                            scrollView.contentInset = UIEdgeInsetsMake(self.getNavigationHeight(), 0, scrollView.contentInset.bottom, 0)
                        }else{
                            scrollView.contentInset = UIEdgeInsetsMake(ZLSwithRefreshHeadViewHeight + scrollView.contentInset.top, 0, scrollView.contentInset.bottom, 0)
                        }
                        
                    })

refreshTempAcstion != nil 报错。

怪我咯怪我咯2764 天前418

全部回覆(1)我來回復

  • 阿神

    阿神2017-04-18 09:29:49

    看了你的“亂糟糟”的問題和與 @酷酷的哀殿 的評論後回答:

    你定義的 action 都是不可空型,當然不能去判斷是否為空,Xcode 必然報錯。
    你可以把你的 (() -> ()) 或者 (() -> Void) 改为 (() -> Void)?

    PS: 以後來SegmentFault 提問前,先稍微學習下Markdown,或者使用它的格式化工具,你問題的排版太亂,讓想幫你解答的人也很無奈,很難看明白你的問題;還有,不論是寫程式碼還是做任何事,都要用心(你有單字拼字錯誤);我是不是管太寬了

    回覆
    0
  • 取消回覆