懒加载

来源:互联网 发布:nginx.var set lua 编辑:程序博客网 时间:2024/06/05 15:26

懒加载:

1.减小对系统内存的占用。

2.重写这个属性对应的getter方法,将要实现的逻辑放到这个getter中。

3.降低耦合性。

4.加载过一次之后不再加载,节约了系统资源。


使用注意:调用时用 self.dataBase方法,这样才会调用get方法,但是在懒加载方法里面禁止使用 self.dataBase,否则会造成死循环。



代码如下:

@interface StudentManager : NSObject


{

    FMDatabase * _dataBase;

}


@implementation StudentManager

//懒加载

- (FMDatabase*)dataBase{//_dataBaseself.dataBase的区别:self.dataBase回调用get方法但是_dataBase不会;在这个方法里若是使用self.dataBase会陷入死循环无限调用get方法。

    if (!_dataBase) {

        _dataBase = [FMDatabasedatabaseWithPath:[selfdatabasePath]];

    }

    return_dataBase;

}