第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

類不實現(xiàn)其超類的必需成員

類不實現(xiàn)其超類的必需成員

千萬里不及你 2019-07-25 20:11:24
類不實現(xiàn)其超類的必需成員所以我今天更新到Xcode 6 beta 5,并注意到我?guī)缀跛蠥pple類的子類都收到了錯誤。錯誤說明:類'x'不實現(xiàn)其超類的必需成員這是我選擇的一個例子,因為這個類目前非常輕量級,因此很容易發(fā)布。class InfoBar: SKSpriteNode  { //Error message here     let team: Team     let healthBar: SKSpriteNode     init(team: Team, size: CGSize) {         self.team = team        if self.team == Team.TeamGood {             healthBar = SKSpriteNode(color: UIColor.greenColor(), size:size)         }         else {             healthBar = SKSpriteNode(color: UIColor.redColor(), size:size)         }         super.init(texture:nil, color: UIColor.darkGrayColor(), size: size)         self.addChild(healthBar)     }}所以我的問題是,為什么我收到此錯誤,我該如何解決?我沒有實施什么?我正在打電話給指定的初始化程序。
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻1757條經(jīng)驗 獲得超8個贊

來自開發(fā)者論壇上的Apple員工:

“向編譯器和構(gòu)建的程序聲明你真的不希望與NSCoding兼容的一種方法是做這樣的事情:”

required init(coder: NSCoder) {
  fatalError("NSCoding not supported")}

如果您知道您不希望符合NSCoding,則可以選擇此選項。我已經(jīng)使用了很多我的SpriteKit代碼,因為我知道我不會從故事板中加載它。


您可以采用的另一個選項是將方法實現(xiàn)為便利init,如下所示:

convenience required init(coder: NSCoder) {
    self.init(stringParam: "", intParam: 5)}

請注意調(diào)用初始化程序self。這允許您只需要為參數(shù)使用虛擬值,而不是所有非可選屬性,同時避免拋出致命錯誤。


第三種選擇當(dāng)然是在調(diào)用super時實現(xiàn)該方法,并初始化所有非可選屬性。如果對象是從故事板加載的視圖,則應(yīng)采用此方法:

required init(coder aDecoder: NSCoder!) {
    foo = "some string"
    bar = 9001

    super.init(coder: aDecoder)}


查看完整回答
反對 回復(fù) 2019-07-25
  • 3 回答
  • 0 關(guān)注
  • 606 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號