---------------
main.m
---------------
#import
<Foundation/Foundation.h>
@interface
FKSingleton : NSObject
+ (id) instance;
// 此方法可获取该类的位移实例对象
@end
@implementation
FKSingleton
static id instance = nil ;
+ ( id ) instance
static id instance = nil ;
+ ( id ) instance
{
if
(!instance)
//
如果
instance
全局变量为
nil
{
// 创建一个 Singleton 实例,并将该实例赋给 instance 全局变量
instance = [[ super alloc] init];
}
return instance;
// 创建一个 Singleton 实例,并将该实例赋给 instance 全局变量
instance = [[ super alloc] init];
}
return instance;
}
@end
int
main()
{
// 判断两次获取的实例是否相等,程序将会返回 1 (代表真)
NSLog( @"%d" , [FKSingleton instance] == [FKSingleton instance]);
{
// 判断两次获取的实例是否相等,程序将会返回 1 (代表真)
NSLog( @"%d" , [FKSingleton instance] == [FKSingleton instance]);
}
一、编写本节代码的具体步骤:
1.可仿照
第二章
001节的代码编写步骤,可以把类的接口文件,类的实现文件写在main.m文件中。
二、本节代码涉及到的知识点:
1.如果一个类只需要创建一个实例对象,(防止创建多个对象),那么我们可以使用static全局变量来实现。
2.如果一个类只能创建一个示例对象,那么这个类被称为“单例类”。
3.运行上面的代码,我们发现,两次产生的
FKSingleton对象实际上是同一个对象。