微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

flutter 单例

Flutter中的单例

class DataSave{
  factory DataSave() => shared();
  static  DataSave _instance;
  DataSave._() {

  }
  static DataSave shared(){
    if(_instance == null){
      _instance = DataSave._();
    }
    return _instance;
  }
  //添加一个属性 通过单例来缓存属性值
  var a = 0;
}

使用

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //赋值并存储在单利中
    DataSave.shared().a = 200;
    return MaterialApp(
      title: '单例测试',
      home: Scaffold(
        appBar: AppBar(title: Text('data'),),
        body: TestPage(),
      ),
    );
  }
}

class TestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //读取单例的值
   int a =  DataSave.shared().a;
    return Scaffold(
      body: Center(
        child: Text('$a'),
      ),
    );
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐