每一个不曾起舞的日子都是对生命的辜负。
###普通版单例
class TheOneAndOnlyKraken {
static let sharedInstance = TheOneAndOnlyKraken()
//This prevents others from using the default '()' initializer for this class.
private init() {}
}
所谓的延迟存储属性,就是我们OC中所谓的懒加载对象,也就是把创建对象的步骤放在重写的getter方法中进行。这样,只有当我们使用这个属性的getter方法的时候,才会创建对象,可以为我们节省不必要得内存开销。
自定义归档,可以实现对象内包含对象等的动态判断,方便使用
#import <objc/runtime.h>
@implementation NSObject (AutoEncoding)
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
//记录类中实例变量个数
unsigned int ivarCount = 0;
Ivar *vars = class_copyIvarList(object_getClass(self), &ivarCount);
虽然还没想好写点什么,但是总觉得这里放句话比较和谐。