使用Set关键字时出现Flutter Dart Setter问题

梅赫迪·雷扎格·赫布拉

被介绍给BLoC时,我创建了一个简单的类来更改bool变量的值

class SignInBloc {
  
  StreamController<bool> _isLoading = StreamController<bool>();

  Stream<bool> get getIsLoading => _isLoading.stream;
  set setIsLoading(bool isLoading) => _isLoading.sink.add(isLoading); // Here is my problem (set)

  void dispose(){
    _isLoading.close();
  }
}

当我使用set关键字,然后在我的UI屏幕中调用它时:bloc.setIsLoading(false);我得到一个例外:

Try correcting the name to the name of an existing method, or defining a method named 'setIsLoading'.

但是,当我setSignInBloc课堂上取消该关键字时,它可以正常工作。我很困惑,不是最好使用这个关键字而不是直接声明我的二传手吗?而且,为什么我在起飞时没有收到错误消息?

克里斯托弗·摩尔

Setter的使用要像它们是班级的公共领域一样。您只是在明确定义自己的setter。将您的预期值直接分配给设置器,如下所示:

bloc.setIsLoading = false;

使用的唯一好处set是能够使用此语法。

起飞时set,它已更改为常规方法,bloc.setIsLoading(false);该语法将是正确的语法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaScript –在RegExp中使用多个关键字时出现问题

Dart等待关键字

空安全的 Dart/Flutter 问题

使用Dart从Flutter中的API获取数据时出现问题

关键字“into”附近的语法不正确,尝试创建视图时出现问题?

使用 static 关键字声明的问题

在Flutter(Dart 2)中还是可以使用const关键字来提高性能吗?

const关键字和方法声明出现问题

不确定在Flutter或Dart中将await关键字应用于哪个语句

Laravel:问题在数据库连接时在ENV文件中使用关键字#

使用 JavaScript 文件输入“process”关键字时,VS Code 中的 IntelliSense 问题

为什么 dart 有 get 和 set 的特殊关键字?

let关键字问题

Dart使用或不使用抽象关键字之间有何区别?

Android Studio无法识别Dart关键字“ await”

await 关键字不会在 dart 中等待

Dart语言中的“ as”关键字有什么作用

在Dartium中调试Dart-断点关键字?

“ dart”中“ library”关键字的确切含义

是否已从Dart中删除了“ interface”关键字?

.dart文件中“ patch”关键字的含义

尽管使用了Dart 2.0,仍无法省略“ new”关键字

如果我在 if 语句中使用“is”关键字,Dart 如何自动向上转换

您是否需要在Dart中使用“ new”关键字?

为什么在dart中的赋值运算符之后使用const关键字?

在Dart中,使用'new'关键字和直接调用构造函数有什么区别?

尝试使用get关键字在dart中进行设置和获取

为什么Dart中没有await关键字的async关键字功能?

使用评论中的关键字关闭github上的问题