Flutter中文网的原文
我怎么在 Flutter 中访问 UserDefaults?
在 iOS 中,你可以使用属性列表来存储键值对的集合,即我们熟悉的 UserDefaults。
在 Flutter 中,可以使用 Shared Preferences plugin 来达到相似的功能。它包裹了 UserDefaluts 以及 Android 上等价的 SharedPreferences 的功能。
我试了一下,我特么???黑人问号???获取到的都是null,什么鬼?撸源码
是不是很熟悉,这个插件就是用channel来使用UserDefaults的
看下获取的方法,它要判断hasPrefix:@“flutter.”,哟西找到原因了,原来这个插件在使用UserDefaults的时候会自动在key的前面加上"flutter.",那么想要共通就注释掉
去shared_preferences.dart里修改源码
class SharedPreferences {
SharedPreferences._(this._preferenceCache);
static const String _prefix = ''; // 这里将"flutter."改为''
ok保存一下,再去获取就可以获取到iOS项目中以前保存过的UserDefaults键值对了
这种方式会影响本地的库 其他项目导入都自动是去了flutter.的,自己酌情删除。