《Objective-C編程之道》“第7章單例”中提到用NSAllocateObject來分配可以防止子類分配時候得到父類的對象。但是據我測試沒有任何區別,請知情人士指點。創建對象代碼+(Singleton*)sharedInstance{if(uniqueInstance==nil){uniqueInstance=[[superallocWithZone:nil]init];//uniqueInstance=NSAllocateObject([selfclass],0,nil);}returnuniqueInstance;}測試代碼idchild1=[[Childalloc]init];NSLog(@"child1=%@",child1);idchild2=[[Childalloc]init];NSLog(@"child2=%@",child2);測試結果2013-03-2216:59:34.634Singleton[5107:303]ThisisSingletondemo.2013-03-2216:59:34.636Singleton[5107:303]child1=2013-03-2216:59:34.637Singleton[5107:303]child2=
allocWithZone和NSAllocateObject的區別是什么?
冉冉說
2019-04-07 09:37:51