2016-03-02 80 views
0

我需要一些幫助來弄清楚如何以最簡單的方式從變量中獲取屬性。從變量獲取多個屬性

所以,現在我有這個類,它設置了塊的各種屬性。

class Block { 

    var Name:String = "Block Name" 
    var Value:Int = 0 

    init(){ 
    } 
} 
    var grassBlock = Block() 
    var dirtBlock = Block() 

舉一個例子,我會包括我做了單獨設置每個塊的名稱組成:

grassBlock.Name = "Grass" 
    dirtBlock.Name = "Dirt" 
    grassBlock.Value = 10 
    dirtBlock.Value = 5 

然後,我有一些代碼,決定根據不同事物的「currentBlock」。所以,以方便我只想說:

currentBlock = grassBlock.Name 

一旦有了currentBlock變量設置爲grassBlock是存在的,我可以從中攫取grassBlock.Value不知何故,使這會工作以任何方式:

currentBlockValue = currentBlock.Value 

我希望能夠只檢測當前塊,然後有機會獲得它的各個屬性,如果這是不可能的?

回答

0

正確的方法創建一個對象是使用如下初始化構造函數:

class Block { 

    var Name:String? 
    var Value:Int? 

    init (name:String,value:Int){ 
     self.Name = name 
     self.Value = value 

    } 


} 

創建對象,可以那麼容易像做:

var grassBlock = Block(name: "Grass", value: 10) 
var dirtBlock = Block(name: "Dirt", value: 5) 

這裏你要的對象分配對象,然後用它取名稱或數值屬性:

let currentBlock = grassBlock 
let currentBlockValue = currentBlock.Value 
let currentBlockName = currentBlock.Name 
+0

非常感謝!只是我在找:) –

+0

@ IPhonick9我很高興知道它的作品 – AaoIi