SORU
3 HAZİRAN 2014, Salı


Sınıf değişkenleri henüz desteklememektedir

Bölünmüş projemi ilk görünüm denetleyicisi denetleyicisi görüntülemek ve otomatik olarak film şeridi baştan başlıyorum.

Genellikle, bu kullanıcı arayüzü ile bir uygulama varbir ve tekbölünmüş olarak kök denetleyicisi görünümü, bir ben yaratmakstatik değişkenalt sınıf ve hazırlama işi bittiğinde ayarlayın.

Swift ile bu davranışları denemek istiyorum.

Tip özellikleri (statik ve sınıf anahtar kelime ile) hakkında mor ve iş için bir kod parçası üzerinde çalışıyor Swift programlama dili kılavuzu kitabı okudum:

import UIKit

class SplitViewController: UISplitViewController {

    class func sharedInstance() -> SplitViewController {
        return SplitViewController.instance
    }

    class let instance: SplitViewController = nil

    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
        self.initialization()
    }

    init(coder aDecoder: NSCoder!) {
        super.init(coder: aDecoder);
        self.initialization()
    }

    func initialization() {
        SplitViewController.instance = self;
    }
}

ama bu tür özellikler için class anahtar sözcüğü henüz desteklenen değildi Güncellemelerinden dediğimde anladım.

error detail in image

Bunu yapmak için bir çözüm var mı ?

CEVAP
24 Temmuz 2014, PERŞEMBE


Bir yapı gömme gayet iyi bir çözüm olarak çalışabilir:

class SomeClass
{
  // class var classVariable: Int = 0
  // "Class variables not yet supported." Weird.

  // Workaround:
  private struct SubStruct { static var staticVariable: Int = 0 }

  class var workaroundClassVariable: Int
  {
    get { return SubStruct.staticVariable }
    set { SubStruct.staticVariable = newValue }
  }
}

Bu SomeClass.workaroundClassVariable hesaplanan türü özelliği ise saklı bir tür özelliği olarak kullanılabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • LG Mobile Global

    LG Mobile Gl

    2 EYLÜL 2010