从变量获取多个属性

问题描述:

我需要一些帮助来弄清楚如何以最简单的方式从变量中获取属性。从变量获取多个属性

所以,现在我有这个类,它设置了块的各种属性。

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 

我希望能够只检测当前块,然后有机会获得它的各个属性,如果这是不可能的?

正确的方法创建一个对象是使用如下初始化构造函数:

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