単一例のプロパティの問題について
1317 ワード
iOSを学んで、今単例の理解の問題に出会って、単例の中の属性は修正することができますか?定義によってはいけないようですね.しかし、私は以下のテストに合格して、コンストラクション関数は再ロードされませんが、属性nameは変更できます.単一の例ではそうではありませんか.ありがとう
以上のように、2回目に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を「王さん」に変更しましたが、単例ではこのように属性を変更することができますか?