【发布时间】:2020-05-05 08:57:53
【问题描述】:
我有一个名为number 的变量和一个在其构造函数中将变量设置为number 的类。然后我更改了number 的值,但类中的number 没有更新。这是我的代码:
void fn1() {
int number = 5;
SomeClass someClass = SomeClass(number);
// Do some other things which take a long time
number = 2;
someClass.printer(); // prints 5. expect 2
}
class SomeClass {
int nestedNum;
SomeClass(this.nestedNum) {
printer();
}
void printer() {
print(nestedNum);
}
}
如何让nestedNum 随时更新number?
因此,hacky/easy 解决方案将是任何时候我在fn1 中更改number,我需要在someClass 中更改nestedNum:就像这样:someClass.nestedNum = 2。这样做的问题是,如果我有多个类,我将不得不通过每个类来更改变量。
我想到的另一个解决方案是永远不要将number 传递给someClass,而是传递this 并使用this 访问number。问题又来了,如果我有多个类,每个类都需要从 fn1 访问不同的变量。
【问题讨论】:
标签: class flutter dart constructor