今天在修改數(shù)據(jù)庫,發(fā)現(xiàn)每個(gè)類都有自己的單例實(shí)現(xiàn)函數(shù),然后很多冗余的邏輯,于是就想父類寫一個(gè)單例函數(shù),然后子類繼承就可以生成各自的單例了.結(jié)果發(fā)現(xiàn)俺錯(cuò)了...+(id)sharedInstance{staticBaseDAO*kInstance=nil;NSLog(@"kInstance=%@",kInstance);@synchronized(self){if(kInstance==nil){kInstance=[[selfalloc]init];}else{}}returnkInstance;}結(jié)果是所有的子類得到的都是同一個(gè)單例,然后就unrecognizedselectorsenttoinstance我看了下java是有這種功能的,因?yàn)榭梢园褜傩栽O(shè)置為static,oc剛試了不行.不知道有木有方法實(shí)現(xiàn)各子類不同單例.
objective-c 單例繼承問題
qq_遁去的一_1
2019-04-06 08:31:25