2016-10-18 62 views
0

我想在我的單例GameManager類中創建一個靜態數組。目標是填寫這個數組,用來自數據庫的問題,並從其他類中獲取。如何在Swift中創建一個靜態數組?

下面是提問結構:

struct Question{ 
    let levelId : Int32 
    let categoryId : Int32 
    let id : Int32 

    let question : String 
    let fieldA : String 
    let fieldB : String 
    let fieldC : String 
    let fieldD : String 
    let answer : String 

    init(categoryId : Int32, levelId: Int32,id : Int32,question : String,fieldA : String,fieldB : String,fieldC : String,fieldD : String,answer : String) 
    { 
     self.categoryId = categoryId 
     self.levelId=levelId 
     self.id=id 
     self.question=question 
     self.fieldA=fieldA 
     self.fieldB=fieldB 
     self.fieldC=fieldC 
     self.fieldD=fieldD 
     self.answer=answer 
    } 
} 

這是Singleton類

import Foundation 

class GameManager{ 
    var Questions = [Question]() 

    var categoryID = 0 
    var levelID = 0 
    var i = 0 
      { 
      self.Questions = Questions[Question]// I create the static Question Array here, but it does not work 

      self.categoryId = categoryId 
      self.levelId=levelId 
      self.id=id 
      self.question=question 
      self.fieldA=fieldA 
      self.fieldB=fieldB 
      self.fieldC=fieldC 
      self.fieldD=fieldD 
      self.answer=answer 
     } 

    static let sharedInstance = GameManager() 
} 

回答

0

你應該做初始化的GameManager類的構造函數!

private init() { 
    // do your initialization here... 
} 

初始值將被宣佈private,因爲你顯然不希望其他代碼來創建單身的另一個實例。

而且,由於像UIApplication.sharedApplication很多單身已經在斯威夫特3被重命名爲shared,你或許應該重新命名sharedInstanceshared爲好。

+0

在遊戲管理器;問題=問題[問題]()說使用未解決的標識符'問題' – pflove

+0

這不是你如何初始化一個數組。使用'問題= [問題]()'。 @pflove – Sweeper

相關問題