首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart NoSuchMethodError (NoSuchMethodError: Class 'int‘没有实例方法'call’)。接听者:5次尝试呼叫:呼叫(“25”)

Dart NoSuchMethodError (NoSuchMethodError: Class 'int‘没有实例方法'call’)。接听者:5次尝试呼叫:呼叫(“25”)
EN

Stack Overflow用户
提问于 2022-05-09 15:58:47
回答 1查看 490关注 0票数 0

我正在使用Getx进行州管理。当我使用getx方法时,会得到一个错误。

我正在为Getx类使用以下代码:

代码语言:javascript
复制
import 'package:flutter/material.dart';
  import 'package:get/get.dart';

  // Bu alan benim sayac değişkenlerimi Getx yardımı ile tuttuğum classdır.farkllı değişken classları yazılabilir.
  class SayacController extends GetxController {
    //5 benim değikenimin ilk değeridir.
    var _sayac = 5.obs;

    //get ile çeker, set ile veriyi atarım.
    get sayac => _sayac.value;
    set sayac(yeniDeger) => _sayac.value = yeniDeger;

    //burada 2 tane fonksiyon belirledim. çeşitli fonksiyonlar yazılabilir.
    void arttir() {
      sayac = sayac + 1;
    }

    void azalt() {
      sayac = sayac - 1;
    }
  }

我正在使用此代码作为主页。

代码语言:javascript
复制
import 'package:flutter/material.dart';
  import 'package:flutter_ilk_proje/sayac_controllerEx.dart';
  import 'package:get/get.dart';
  import 'package:http/http.dart';

  void main() => runApp(MyApp());

  class MyApp extends StatelessWidget {
    //Burada controller değşkenlerini vs getiriyorum.
    SayacController _controller = Get.put(SayacController());
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        title: 'Material App',
        home: Scaffold(
          appBar: AppBar(
            title: Text('Material App Bar'),
          ),
          body: Center(
            child: InkWell(
              onTap: () {
                _controller.sayac("25");
              },
              child: Container(
                  child: Obx(
                () => Text(_controller.sayac.toString()),
              )),
            ),
          ),
        ),
      );
    }
  }

我得到了这个错误

代码语言:javascript
复制
     Exception has occurred.
     NoSuchMethodError (NoSuchMethodError: Class 'int' has no instance method 'call'.
     Receiver: 5
     Tried calling: call("25"))

关于密码的截图。

https://ibb.co/LP85JGR

https://ibb.co/YpFHjQF

https://ibb.co/HqPhxHd

EN

回答 1

Stack Overflow用户

发布于 2022-05-09 16:14:03

很难猜出你的意思。

这一行:_controller.sayac("25");可能是_controller.sayac = 25;吗?

总之,_controller.sayac("25");显然是错的。sayac是一个属性。你可以读它,你可以写它,你不能这样叫它。

话虽如此,你似乎只想勉强度日。不要这样做。Dart是一种非常好的语言,如果你使用它,它将一直帮助你。(你关掉你的了吗?)现在应该有一个默认的.)让它来解释为什么你所做的每件事都需要详细和明确,语言会尽可能地支持你。如果您使用了Dart的功能,那么您得到的这个错误将是编译时错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72174900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档