単一例のプロパティの問題について

1317 ワード

iOSを学んで、今単例の理解の問題に出会って、単例の中の属性は修正することができますか?定義によってはいけないようですね.しかし、私は以下のテストに合格して、コンストラクション関数は再ロードされませんが、属性nameは変更できます.単一の例ではそうではありませんか.ありがとう
import Foundation

class Person: NSObject {
    
    var name: String?
    var age: Int?
    var phone: String?
    
    class var sharedInstance: Person {
        struct Static {
            // 
            static let instance: Person = Person()
        }
        return Static.instance
    }
    
    override init() {    // , ,
        println(" Person ")
    }
}
//
//  main.swift
//  Swift
//
//  Created by xyq on 15/6/22.
//  Copyright (c) 2015  xyq. All rights reserved.
//

import Foundation



//  init
var tom = Person.sharedInstance
tom.name = " "
tom.age = 10
tom.phone = "18714589652"
println("tom:\(tom.name)")

//  init ,
var mark = Person.sharedInstance
mark.name = " "    // ,
mark.age = 10
mark.phone = "18714589652"

println("mark:\(mark.name)")

// tom mark

以上のように、2回目にnameを「王さん」に変更しましたが、単例ではこのように属性を変更することができますか?