设置一个Person类
Person.m代码:
staticPerson *ps = nil;
//+ (Person *)sharePerson
//{
// if (ps == nil) {
// //加上锁
// @synchronized(self) {
// ps = [[Person alloc] init];
// }
// }
// return ps;
//}
//单例的另一种创建方法----GCD的一种用法
+ (Person *)sharePerson
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
ps = [[Person alloc] init];
});
return ps;
//{
// if (ps == nil) {
// //加上锁
// @synchronized(self) {
// ps = [[Person alloc] init];
// }
// }
// return ps;
//}
//单例的另一种创建方法----GCD的一种用法
+ (Person *)sharePerson
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
ps = [[Person alloc] init];
});
return ps;
}
main.m代码:
Person*jack = [PersonsharePerson];
jack.name =@"jack";
Person *rose = [PersonsharePerson];
rose.name= @"rose";
Person *tome = [PersonsharePerson];
NSLog(@"%@", jack.name);
NSLog(@"%@", rose.name);
NSLog(@"%@", tome.name);
输出结果全为rose