繼承NSObject單例
class CardUtil : NSObject{
? ? /*
?? ? 靜態(tài)屬性shared持有唯一的實例,對外公開
?? ? */
? ? static let shared = CardUtil()
? ? /*
?? ? 重載init()方法呀狼,使其對外不可見静秆,不可以在外部調(diào)用免猾,防止在外部創(chuàng)建實例
?? ? */
? ? private override init(){}
? ? /*
?? ? 重載copy(), mutableCopy()方法夹孔,返回self,防止在外部復制勢例貌夕。
?? ? */
? ? override func copy() -> Any{
? ? ? ? /*
?? ? ? ? 這里也可以返回CardUtil.shard。
?? ? ? ? 只有shared能調(diào)用copy() mutableCopy()方法民镜,那么self就是shared
?? ? ? ? */
? ? ? ? return self
? ? }
? ? override func mutableCopy() -> Any {
? ? ? ? return self
? ? }
}
2啡专、不繼承NSObject
class CardUtil2 {
? ? /*
?? ? 不繼承NSobject的類,沒有copy() mutalbeCopy()方法制圈,不需要重載
?? ? */
? ? static let shared = CardUtil2()
? ? private init(){}
}