小编Bru*_*Ely的帖子

阻止 Visual Studio Code 在出现异常时打开文件

在调试 Flutter 应用程序时,即使我在调试窗格中取消选中“所有异常”和“未捕获的异常”的断点,Visual Studio Code 也会打开发生异常的文件。我什至删除了所有断点。有办法禁用这个吗?

我在设置中找不到任何内容。编辑一个文件时突然弹出另一个文件,现在我无意中编辑了一些 Dart 系统库,这真是太令人沮丧了。

我见过的几个由编辑器打开的文件是binding.dartview.dartclip.dartsha256.dart,这在我的脑海中是无法想象的。

visual-studio-code flutter

7
推荐指数
0
解决办法
514
查看次数

在 Flutter 中使用 Provider 更新 AnimatedList 并为其设置动画

当列表数据存储在拥有列表小部件的同一组件中时,我能够成功地AnimatedList在 Flutter 中对 的内容进行动画处理(即,当列表数据发生更改时不会发生重建)。当我尝试从ChangeNotifierusingProvider和获取列表中的项目时,我遇到了问题Consumer

拥有 的组件AnimatedList(我们称之为ListPage)是用 构建的Consumer<ListItemService>。我的理解是,ListPage每当服务更新列表数据并调用时就会重建notifyListeners()。当发生这种情况时,我不确定ListPage可以调用其中的哪个位置AnimatedListState.insertItem来对列表进行动画处理,因为在build列表状态期间仍然是null。结果是一个列表,其内容没有动画效果。

我认为我的问题归结为“如果实时获取和更新内容,我如何管理此列表的状态?”,理想情况下,我想了解正在发生的事情,但我愿意接受有关如何我的建议如果这不是完成任务的最佳方式,则应该更改此设置。

下面是一些说明问题的代码:

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider<AuthService>(
          create: (_) => AuthService(),
        ),
        ChangeNotifierProxyProvider<AuthService, ListItemService>(
          create: (_) => ListItemService(),
          update: (_, authService, listItemService) …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-provider

5
推荐指数
1
解决办法
1880
查看次数

什么更快:' - isKindOfClass:'或'-isEqualToString:'?

我正在使用SpriteKit制作游戏,并想知道触摸的节点是否是我正在寻找的特定节点.哪个会更快,给该自定义类的所有节点一个NSString名称并使用-isEqualToString:来检查它或使用-isKindOfClass:来检查特定的类?

objective-c sprite-kit

4
推荐指数
1
解决办法
411
查看次数

将char数组传递给带有char指针的函数

在C中,为什么我能够将字符数组传递给char *作为参数的函数,但是我不能将数组的地址传递给带有char **?的函数?

更新:有趣的是,将参数类型char* qux[12] 更改为根本不会更改编译器警告

例如:

#include <stdio.h>

void foo(char* qux) { puts(qux); }
void bar(char** qux) { puts(*qux); }
void baz(char* qux[12]) { puts(*qux); }

int main() {
    char str[12] = "Hello there";

    foo(str);
    bar(&str); // Compiler warning
    baz(&str); // Same compiler warning

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,我得到一个编译器警告:

warning: incompatible pointer types passing 'char (*)[12]' to
         parameter of type 'char **' [-Wincompatible-pointer-types]
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

c arrays pointers

3
推荐指数
1
解决办法
207
查看次数