官方文檔:
https://developer.apple.com/library/ios/documentation/General/Conceptual/DevPedia-CocoaCore/ClassCluster.html
繼承類簇會存在的問題:
http://www.cnblogs.com/pengyingh/articles/2359201.html
類簇如何實現的:
http://seanmurph.com/weblog/make-your-own-abstract-factory-class-cluster-in-objective-c/
簡單歸納:
類簇使用抽象類工廠設計模式,重載alloc和init方法,使得返回的類實體並不是指定的類。因此繼承類簇,並不能返回子類類型,自定義的方法也就不能實現了。
另外,返回的類實體,考慮到內存優化和管理等因素,還可能會被重複利用,好比NSString,和UIColor(實現主題功能,遇到的問題)。html