我想为我的应用程序实现 Provider,经过一些研究,我发现我必须为我的 Data 类实现 ChangeNotifier,以便在“天”更改时更新 UI。
\n\n我见过有人在 setter 方法中编写 notificationListeners() 但总是针对单个属性而不是针对列表。什么是正确的实施?
\n\n谢谢 !
\n\n这是我的班级和清单:
\n\nclass Data with ChangeNotifier {\n List<Day> days = [\n Day(\n name: \'Monday\',\n transactions: [\n Transaction(\n isExpense: true,\n name: \'Pizza\',\n transactionType: TransactionType.food,\n amount: \'120\xe2\x82\xac\',\n ),\n Transaction(\n isExpense: true,\n name: \'EDEKA\',\n transactionType: TransactionType.payment,\n amount: \'120\xe2\x82\xac\',\n ),\n ],\n ),\n Day(\n name: \'Tuesday\',\n transactions: [\n Transaction(\n isExpense: true,\n name: \'Sushi\',\n transactionType: TransactionType.food,\n amount: \'120\xe2\x82\xac\',\n ),\n Transaction(\n isExpense: true,\n name: \'Lidl\',\n transactionType: TransactionType.payment,\n amount: \'120\xe2\x82\xac\',\n ),\n Transaction(\n …Run Code Online (Sandbox Code Playgroud) GOARCH当设置为arm64(或省略)时,我的应用程序可以正常编译。但是,当我尝试编译 amd64 二进制文件 ( GOOS=darwin GOARCH=amd64 go build) 时,出现以下错误:
package [mainPackage]\n imports [internalPackageThatUsesC]: build constraints exclude all Go files in [pathToInternalPackageThatUsesC]\nRun Code Online (Sandbox Code Playgroud)\n[internalPackageThatUsesC]由 3 个文件组成 \xe2\x80\x93 一个包含实现的 Objective C 文件、一个标头和一个为本机代码提供接口的 Go 文件。以下是 Go 文件:
package [mainPackage]\n imports [internalPackageThatUsesC]: build constraints exclude all Go files in [pathToInternalPackageThatUsesC]\nRun Code Online (Sandbox Code Playgroud)\n带注释的名称[]表示它们是实际名称的占位符。
我尝试运行它,arch -x86_64但输出是相同的。
这里有什么问题?我需要添加另一个构建标签吗?
\nPS 我在 StackOverflow 上发现了有关此错误的问题,但没有一个与针对 amd64 进行编译有关。这个问题是最接近的,但它是特定于 WebAssembly 的。
\n以下是结果go env: …