问题描述
创建一个BNRitemStore类的单实例
+(BNRitemStore *)sharedStore{ static BNRitemStore *sharedStore = nil; if(!sharedStore){sharedStore = [[super allocWithZone:nil]init]; } return sharedStore;}+(id)allocWithZone:(NSZone *)zone{ return [self sharedStore]; }
第一个方法中使用了allocWithZone方法,第二个方法中又使用了sharedStore方法,这二者不会造成循环吗?该如何理解呢?
问题解答
回答1:第一个方法调用的是父类的allocWithZone