gpt4 book ai didi

dart - FLUTTER 如何根据传递的字符串名称获取变量?

转载 作者:IT王子 更新时间:2023-10-29 06:48:27 29 4
gpt4 key购买 nike

我已将变量及其代号存储在一个类中。

假设我想从那个类(class)拿到XVG,我想做

String getIconsURL(String symbol) {

var list = new URLsList();

//symbol = 'XVG'

return list.(symbol);
}

class URLsList{

var XVG = 'some url';
var BTC = 'some url';

}

有人可以帮助我实现这个目标或为我提供更好的解决方案吗?

最佳答案

在 flutter doesn't support reflection 中使用 Dart。

如果出于某种原因您想直接在代码中使用文本,我建议使用文本替换(使用您最喜欢的工具或使用 intellij 的查找 + 替换为正则表达式)将其更改为 map ,即

final Map<String, String> whee = {
'XVG': 'url 1',
'BTC': 'url 2',
};

另一种方法是将它作为 JSON 文件保存在你的 assets 中,然后在应用程序打开时加载它并读取它,或者甚至在第一次运行时/需要时从服务器下载它(以防 URL 需要更频繁地更新)比你计划更新应用程序)。像那样对一堆数据进行硬编码并不总是一个好主意。

编辑:如何使用。

final Map<String, String> whee = .....

String getIconsURL(String symbol) {
//symbol = 'XVG'

return whee[symbol];
}

如果您在一个类中定义它,请确保您也将它设置为静态,这样它就不会在每次实例化该类时都创建另一个。

此外,如果您想遍历它们,您可以选择使用 entrieskeysvalues - 请参阅 Map Class documentation


关于dart - FLUTTER 如何根据传递的字符串名称获取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49871170/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com