</pre><p></p><p></p><p>.h 接口</p><pre name="code" class="objc">#import <Foundation/Foundation.h>
@interface Singleton : NSObject
// 可以不用创建属性
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *sex;
// 创建类对象
+ (instancetype)shareSingleonOne;
@en
.m 实现
@implementation Singleton
// 单例的两种写法
static Singleton *singleonOne = nil;
/**
* 方法一 复杂写法
*
*/
+ (instancetype)shareSingleonOne
{
if (singleonOne == nil) {
singleonOne = [[Singleton alloc] init];
singleonOne.name = nil;
singleonOne.sex = nil;
}
return singleonOne;
}
/**
* 方法一 简单写法
*
*/
+ (instancetype)shareSingleonOne
{
if (!singleonOne) singleonOne = [[Singleton alloc] init];
singleonOne.name = nil;
singleonOne.sex = nil;
return singleonOne;
}
/**
* 方法二 dispatch写法
*/
+ (instancetype)shareSingleonOne
{
static Singleton *singlenonOne = nil;
static dispatch_once_t *predicate;
dispatch_once(predicate, ^{
singlenonOne = [[Singleton alloc] init];
singlenonOne.name = nil;
singlenonOne.sex = nil;
});
return singlenonOne;
}