Flutter中如何一次性检查SharedPreferences中多个值是否存在
当然可以实现,这里有两种简单实用的方式:
方法一:直接用every方法批量判断
把需要检查的键整理成列表,通过every方法遍历验证所有键是否都存在:
List<String> targetKeys = ['weight', 'height', 'userName']; bool allKeysExist = targetKeys.every((key) => preferences.containsKey(key));
只有当列表里所有键都存在时,allKeysExist才会返回true,只要有一个键不存在就返回false。
方法二:给SharedPreferences写扩展方法(更优雅)
如果需要多次使用这个功能,可以给SharedPreferences添加扩展方法,让调用逻辑更简洁:
extension SharedPreferencesExtension on SharedPreferences { bool containsAllKeys(List<String> keys) { return keys.every((key) => containsKey(key)); } }
之后就能像这样调用:
bool check = preferences.containsAllKeys(['weight', 'height', 'userName']);
内容的提问来源于stack exchange,提问作者taha khamis
相关产品推荐
相关产品推荐

