今天在修改數據庫,發現每個類都有自己的單例實現函數,然后很多冗余的邏輯,于是就想父類寫一個單例函數,然后子類繼承就可以生成各自的單例了.結果發現俺錯了...+(id)sharedInstance{staticBaseDAO*kInstance=nil;NSLog(@"kInstance=%@",kInstance);@synchronized(self){if(kInstance==nil){kInstance=[[selfalloc]init];}else{}}returnkInstance;}結果是所有的子類得到的都是同一個單例,然后就unrecognizedselectorsenttoinstance我看了下java是有這種功能的,因為可以把屬性設置為static,oc剛試了不行.不知道有木有方法實現各子類不同單例.
objective-c 單例繼承問題
千萬里不及你
2019-04-06 08:31:27