关于单例的属性问题
来源:互联网 发布:scrypt挖矿软件 编辑:程序博客网 时间:2024/06/05 17:39
才学iOS,现在遇到单例的理解问题,单例中的属性可以修改吗?根据定义似乎不应该啊。但是我通过如下测试,构造函数是不会再次加载,但是属性name是可以被修改的,单例是不是就是这样的?谢谢
如上,第二次把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实际上是一个人
如上,第二次把name改为“小王”了 ,单例就是这样可以改属性的吗?
0 0
- 关于单例的属性问题
- 关于spring mvc的单例问题
- 关于VC单选按钮不能设置变量的问题以及Group属性的设置
- 关于VC单选按钮不能设置变量的问题以及Group属性的设置
- 关于VC单选按钮不能设置变量以及Group属性的设置问题
- 关于属性页和属性单的应用总结
- 关于Controls属性的问题
- 关于跨dll的模板单例问题
- 关于材料出库单的金额问题
- 关于js单线程的问题
- 关于js的单双引号嵌套问题
- 关于单例中的加载问题
- 关于单例的实现
- 关于BoundField的DataFormatString属性问题
- 关于ImageButton的ImageUrl属性设置问题
- 关于自定义属性面板的问题
- js关于对象的innerHTML属性问题
- 关于android 控件的默认属性问题
- 关于Mysql的那点事!
- cocos2d-x多触点问题
- 代码碎片记录
- NSLock为什么不能锁住
- 解决终端无法ssh链接服务器问题
- 关于单例的属性问题
- App通用时间规则
- 税码配置问题
- hadoop 权威指南URLCat 编译调试
- webpack-externals过滤文件
- ab压力测试
- 【WPF】BusyIndicator做Loading遮罩层
- 如何将ios6的app图标扁平化
- WeChat 开源项目技术点总结整理