検索

ホームページ  >  に質問  >  本文

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 报错。

怪我咯怪我咯2766日前425

全員に返信(1)返信します

  • 阿神

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

    あなたの「乱雑な」質問と @ Cool Ai Dian のコメントを読んだ後、私はこう答えました:

    定義したアクションはすべて null 非許容型であり、Xcode が空であるかどうかを判断することはできません。
    (() -> ()) または (() -> Void)(() -> Void)? に変更できます。

    追伸: 今後 SegmentFault に来て質問する前に、Markdown について少し学ぶか、その書式設定ツールを使用してください。質問の書式設定が乱雑すぎるため、あなたが答えようとする人たちにとっても、あなたの質問を理解するのは難しいです。コードを書いているときも、何かをしているときも、注意しなければなりません(スペルミスがあります)。

    返事
    0
  • キャンセル返事