单例模式

1.单例模式  使用类方法创建,所以内存地址是不会变得(主要是因为有static的修饰)。第一次创建好以后再次创建的时候他的内存地址是不变的

2.在类中,用static修饰的变量和单例的static是一样的,只有一个并且内存地址不会改变。

3.再类中,全局变量_开头的变量使用allco init方法创建的,他也能保证在类中他只有一个,但是再次alloc init 后,他的内存地址会变,虽然他还是只有一个。

4.在arc情况下,创建一个实类对象,如果没有强引用的话他会在出大括号的时候销毁,并且会走这个类的delloca方法。

5.在viewcontroller中,平时使用- (void)delloca方法,销毁的是控制器本身(self),并不是所有的用的的类都在这里面销毁,其他的类都是在自身的delloca方法中销毁。

6.static修饰的变量存储于静态变量区.类如, 在一个viewController中定义了一个 static int类型对象 a,在dealloc中让 a= 1000,然后当你再次进入这个viewController的时候你会发现a 不是默认的0了,而是1000.解释:虽然控制器销毁了,控制器是在栈中的,但是存储在静态变量区的a并没有销毁.所以当你再次进入这个viewController的时候,a的值并不是重新赋值,而是区静态变量区取原来的值了.

7.static默认的值为0.

8.既然static修饰的对象存储在静态变量区,那么我在多个控制器中给cell加重用标识符的时候,用的都是@"cell",这样的话怎么分得清这是哪个控制器的cell呢.别忘了,static还有一个作用是,被static修饰的对象只能在本类中显示,别的类连看都看不到,所以在本类中定义的@"cell"只用本类能用----这说明,虽然定义的字符串@"cell"是一样的,但是她们在静态变量区的地址是不一样的...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值