我试图在目标 C 中实现单例设计模式。这是我的代码
在 .h 文件中
#import <Foundation/Foundation.h>
@interface BSCustomClass : NSObject
{
NSString *string;
}
@property (nonatomic,strong)NSString *string;
@end
在 .m 文件中
#import "BSCustomClass.h"
@implementation BSCustomClass
static int i;
static BSCustomClass* object;
@synthesize string;
-(id)init
{
if(i==0)
{
object=[super init];
i=1;
object.string=@"tunvir Rahman";
}
return object;
}
@end
现在,如果我想使用 alloc 和 init 从 main 创建 BSCustomClass 的对象,那么它将调用自己的 init 方法并检查静态变量 i。如果 i=0 则假定到目前为止没有创建对象并创建一个对象,之后它将返回 BSCustomClass 类的所有对象的前一个对象的地址。这是单例的正确实现吗?谢谢