關於Swift中實現Lazy initialize的方式(未解決)

來源:互聯網
上載者:User

標籤:style   blog   http   color   2014   問題   代碼   div   

在oc中我們通過

-(CardMatchingGame *)game{    if(!_game) _game=[[CardMatchingGame alloc] initWithCardCount:[self.cardButtons count] usingDeck:[self createDeck]];    return _game;}

方式來實現Lazy initialize,即在對象第一次調用的時候才進行執行個體化,按照上面這種方式,我嘗試在Swift中用如下代碼實現

    var gameModel: CardMatchingGame?{        if !self.gameModel{            return CardMatchingGame(cardCount: cardButtons.count, usingDeck: playDec)        }else{            return self.gameModel        }    }

編譯沒有問題,但是運行中會進入死迴圈,在self.gameModel上,會再次調用gameModel的get方法,迴圈往複,直到程式崩潰。

那就用lazy關鍵字吧,但是。。。。

居然說變數找不到,這不坑爹麼。

lazy關鍵字去掉還是這個錯, 我覺得應該不是lazy的問題,肯定是在聲明過程中哪個細節疏忽了,現在還無法解決。

現在先用別的方法替代這個繼續下去了,等找到解決方案或者出錯的地方後再上來修改。~~~

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.