佚名通过本文主要向大家介绍了正比例和反比例,正比例反比例练习题,正比例和反比例ppt,什么是正比例和反比例,正比例和反比例教案等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:正比例反比例 iOS单例创建的一点疑惑
描述:
解决方案1:
描述:
线程安全的单例常用写法,
+(AccountManager *)sharedManager{
static AccountManager *defaultManager = nil;
disptch_once_t once;
disptch_once(&once,^{
defaultManager = [[self alloc] init];
});
return defaultManager;
}
在用的过程中,有点疑惑的点是:static AccountManager *defaultManager = nil;
这行代码是在sharedManager方法之内的,
在第二次调用sharedManager的时候defaultManager不会被置为nil吗?
解决方案1:
同意楼上说的。注意static修饰符。
解决方案2:被static 修饰的变量只会初始化一次,所以第二次不会置nil.
解决方案3:static 修饰的局部变量,他在编译的时候,就初始化了内存。只是初始化一次,而且在程序中只有一份内存,直到程序结束才会被销毁。他被储存到静态储存区。你可以打个断点试一下,无论是once 还是defaultManager应该都是不会执行的,他在编译的时候,就初始化了内存。