小编i6x*_*x86的帖子

如何在 Dart 中打开枚举?

我正在观看 The Boring Flutter Development Show,在其中一集中他们展示了 Bloc 的实现。

现在有这块代码,我认为最好用 Switch 语句替换,以防将来出现更多情况:

_storiesTypeController.stream.listen((storiesType) {
       if (storiesType == StoriesType.newStories) {
         _getArticlesAndUpdate(_newIds);
       } else {
         _getArticlesAndUpdate(_topIds);
       }
     });
Run Code Online (Sandbox Code Playgroud)

...所以我试图实现它,但它给了我一些错误说

switch 表达式的类型 'Type' 不能分配给 case 表达式的类型 'Stories Type'。

所以我想出了这个解决方法:

final storyType = StoriesType.newStories;

_storiesTypeController.stream.listen((storyType) {
    switch (storyType) {
      case StoriesType.newStories: {
        _getArticlesAndUpdate(_newIds);
      }
        break;
      case StoriesType.topStories: {
        _getArticlesAndUpdate(_topIds);
      }
        break;
      default: {
        print('default');
      }
    }
  });
Run Code Online (Sandbox Code Playgroud)

...一切正常,但我想知道是否有另一种方法可以切换 Enum 以及为什么当我在这一行中使用它时,它说未使用局部变量 storyType 的值:

_storiesTypeController.stream.listen((storyType)
Run Code Online (Sandbox Code Playgroud)

然后我切换过来?

switch-statement dart flutter

10
推荐指数
1
解决办法
9990
查看次数

FutureBuilder 运行两次

我在 FutureBuilder 启动两次时遇到问题。首先它正确获取数据,返回我的 StartScreen,然后几秒钟后,StartScreen 重建,我注意到 FutureBuilder 再次触发。

这是我的代码,它非常简单,所以我想知道可能是什么问题?!?

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  FirebaseUser user;

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    getNewestlocation();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'APP',
      theme: buildTheme(),
      home: FutureBuilder<FirebaseUser>(
        future: Provider.of<AuthService>(context).getUser(),
        builder: (context, AsyncSnapshot<FirebaseUser> snapshot) {
          if (snapshot.connectionState == ConnectionState.done) {
            if (snapshot.error != null) {
              print('error');
              return Text(snapshot.error.toString());
            }
            user …
Run Code Online (Sandbox Code Playgroud)

dart flutter

10
推荐指数
2
解决办法
4257
查看次数

Flutter:命令 PhaseScriptExecution 失败,退出代码非零

这是生产中的应用程序。我改变了一些逻辑试图获得 dateTime 我已经将它本地化到另一个国家,然后突然有一些关于 dart html 的错误,但我不记得到底是什么,所以我尝试重建项目,结果是抱怨使用新的构建系统,到目前为止我尝试过:

  • 将系统更改为遗留系统
  • 扑干净
  • 乌达可可豆。
  • 删除 podfile.lock
  • 豆荚更新
  • 吊舱安装
  • 包升级
  • 颤振升级

没有一篇论文完成了这项工作。

当更改为旧版时,有 13 个错误,其中一个抱怨未找到 dart:html,所以我将它添加到依赖项和开发开发依赖项中,但仍然没有。我还评论了 intl 包,因为在发生这种情况时我正在使用它,并且包得到了却什么也没有。

任何想法如何处理这个?

这是完整的控制台 Xcode 输出:

>     2020-03-16 17:55:17.549 xcodebuild[56626:765857]  DTDeviceKit: deviceType from 3ad4f96e876e8222a72563420303530067367818 was NULL
>     ** BUILD FAILED **
> 
> 
> Xcode's output: ?



  **Skipped Warnings about deprecated methods, because of char limits and previously builds despite the warnings.** 


> 
>     Compiler message:
>     ../../Developer/flutter/.pub-cache/hosted/pub.dartlang.org/intl-0.16.0/lib/src/http_request_data_reader.dart:11:8:
> Error: Not found: 'dart:html'
>     import 'dart:html';
>            ^
>     ../../Developer/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.0+4/lib/src/browser_client.dart:6:8: …
Run Code Online (Sandbox Code Playgroud)

xcode dart flutter

8
推荐指数
1
解决办法
9793
查看次数

“Firebase.xcconfig”的文件引用是多个组(“支持文件”和“支持文件”)的成员;这表明一个畸形的项目

我有这个问题,找不到更多相关信息。整个消息说:

xcodebuild[41239:2858194] 警告:“Firebase.xcconfig”的文件引用是多个组(“支持文件”和“支持文件”)的成员;这表明一个畸形的项目。只会保留其中一个组中的成员资格(但目标中的成员资格不受影响)。如果您想在多个组中引用同一个文件,请添加另一个对同一路径的引用。

到目前为止,我尝试过:

  • 清理 Pod 缓存
  • 删除 Podfile.lock
  • 删除 ~/Library/Developer/Xcode/DerivedData/*
  • 分解吊舱
  • 删除 ~/Library/Caches/CocoaPods
  • 扑干净

没有改变。问题仍然存在。

我的 Podfile 是:

# Uncomment this line to define a global platform for your project

platform :ios, '9.0'
use_modular_headers!

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def parse_KV_file(file, separator='=')
  file_abs_path = File.expand_path(file)
  if !File.exists? file_abs_path
    return [];
  end
  pods_ary = []
  skip_line_start_symbols = ["#", …
Run Code Online (Sandbox Code Playgroud)

ios firebase flutter

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

将文件转换为图像

我使用 ImagePicker 拍照,并像 File 一样保存。我想要的是在将其上传到 FirebaseStorage 之前将其转换为 png。问题是,当我尝试使用此函数转换它时:

File('test.png').writeAsBytesSync(encodePng(image));

它给了我错误,因为照片是像文件而不是图像一样保存的。我在谷歌上搜索了某种类型的插件或函数来将其从文件转换为图像,但没有找到具体的信息。有人可以帮我解决这个问题吗?

编辑:为了确保我解释清楚:我有像文件一样存储的照片“photo 1.jpeg”,因为这就是 ImagePicker 的作用。然后我想将此文件转换为图像,然后将其转换为 .png

dart flutter

5
推荐指数
2
解决办法
4384
查看次数

如何正确解除带完成处理程序的模态viewcontroller

我有viewController1,viewController2哪个是modaly呈现,我想在解雇第二个时使用完成处理程序,但我无法获得实现.我以为我必须编写一个函数并将其放在那里:

viewController.dismissViewControllerAnimated(true, completion: funcToCall())
Run Code Online (Sandbox Code Playgroud)

但后来我收到这个错误:

无法将类型'()'的值转换为预期的参数类型'(() - > Void)?'

任何人都可以解释我,我怎样才能正确执行完成处理程序?

uiviewcontroller ios swift

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

在小部件之外使用 GetX 观察列表

我有一个isolate,它进行了一些繁重的计算,然后在接收结果列表时运行一个for循环,将它们添加到可观察列表中,其中包含items var items = [].obs;

\n

问题是我试图从启动控制器观察项目列表,一旦列表 != [] 我将导航到另一个屏幕,所以在 onInit() 中我有以下代码:

\n
class SplashController extends GetxController {\n  @override\n  void onInit() {\n    final ItemsController _itemsController = Get.put(ItemsController());\n\n    // TODO: implement onInit\n    super.onInit();\n    ever(_itemsController.items, (newItems) {\n      print('new items here $newItems');\n    });\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

尽管 itemsController.items 已填充(在 for 循环之后,我打印了 itemsController.items 并且它不是空的),但添加项目时,飞溅控制器上的工作程序不会触发。

\n

我在这里做错了什么?这是使用 Getx 观察小部件外部变量的正确方法吗?\n有人可以帮我解决这个问题吗?

\n

编辑:在项目控制器中 I\xe2\x80\x99m 以这种方式添加项目

\n
add(item) => items.add(item)\n
Run Code Online (Sandbox Code Playgroud)\n

dart flutter flutter-getx

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

如何正确使用queryOrderedByValue

我有这个用Swift编写的函数来获取排行榜,然后将其显示给用户:

@IBAction func onShowLeaderboardTapped(_ sender: Any) {
        let leaderboardDB = FIRDatabase.database().reference().child("scores").queryOrderedByValue().queryLimited(toLast: 5)

        leaderboardDB.observeSingleEvent(of: .value, with: { (snapshot) in
            print("leaderboard snapshot:" ,snapshot)
        }, withCancel: nil)

    }
Run Code Online (Sandbox Code Playgroud)

问题是,当我获取它时,它会给我以下列表:

 Ben = 9;
 Gabriela = 12;
 Ivailo = 7;
 Petar = 10;
 Vania = 10;
Run Code Online (Sandbox Code Playgroud)

它向我展示了前五个玩家,但随后按字母顺序列出了它们.由于这不是一个大问题,我想知道是否有办法按价值排序.

这些是规则:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null",
      "scores": {
      ".indexOn": ".value"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

数据库的组织如下:

  matchrooms:
  users: 
  scores:
>      Ben: 9
>      Dimitar: 7
>      Gabriela: 12
>      Ishest: 6
>      Ivailo: 7 …
Run Code Online (Sandbox Code Playgroud)

firebase swift firebase-realtime-database

2
推荐指数
1
解决办法
843
查看次数

CGAffineTransform恢复旋转方向

我使用以下代码旋转360º一个UIButton:

self.btn.transform = CGAffineTransform(rotationAngle: (180.0 * CGFloat(M_PI)) / 180.0)
    self.btn.transform = CGAffineTransform(rotationAngle: (0.0 * CGFloat(M_PI)) / 180.0)
Run Code Online (Sandbox Code Playgroud)

问题是它从左向右旋转,我想反转方向.我尝试过使用-M_PI或-180等组合,但没有成功.我究竟做错了什么?

swift swift3

2
推荐指数
1
解决办法
3704
查看次数

已删除的 Firebase 用户仍然可以进行身份​​验证

我手动删除了 Firebase 用户,然后从设备(物理 iPhone)中删除了该应用程序,然后当我安装它时,它通过身份验证检查打印已删除的用户电子邮件和所有内容。这是我用来检查用户是否存在的方法

home: FutureBuilder<FirebaseUser>(future: Provider.of<AuthService>(context).getUser(),
      builder: (context, AsyncSnapshot<FirebaseUser> snapshot) {
    if (snapshot.connectionState == ConnectionState.done) {
    if (snapshot.error != null) {
    print('error');
    return Text(snapshot.error.toString());
    }
    user = snapshot.data;
    print(user.email);
    return snapshot.hasData ? HomeScreen(user, pos) : LoginScreen();
    } else {
    return LoadingCircle();
    }
    },
      )
Run Code Online (Sandbox Code Playgroud)

这怎么可能?谁能解释一下,当我从 Firebase 上的 Auth Users 中删除该用户时,为什么该用户仍然存在?

firebase firebase-authentication flutter

2
推荐指数
1
解决办法
1130
查看次数

您无权访问此服务器上的 /wp-admin/post.php。WordPress

这个问题被编辑了 3 次,现在包括 VPS 和 Centos 标签,因为我认为我的 VPS 配置文件有问题。


好的,首先,我已经浏览了这里提出的所有问题,但我遇到的问题没有答案。

问题是,当我尝试复制/粘贴和更新或创建 WP 帖子时,我收到以下警告:“您无权访问此服务器上的 /wp-admin/post.php。”

最奇怪的是,当我复制/粘贴时,只有在有一些特殊格式(如斜体或任何符号)时才会崩溃,但不是每个都像 ()。因此,如果我粘贴文本,它通常会崩溃,但并非总是如此。

现在,让事情变得更奇怪,我有一篇文章做得很好,我的意思是它过去在博客上看起来很好。然后我尝试创建一个联系页面,我已经发布了它,但它没有显示在博客上。有一条消息说在链接上什么也没找到。然后我开始四处点击,我注意到我做得对的帖子也消失了。我的意思是它仍然存在,但是当您单击“阅读更多”时,它什么也没找到。

我关闭了我正在使用的所有插件(实际上只有十四种颜色)并更改了主题,但根本没有结果。

知道为什么会这样吗?我将它托管在虚拟服务器上,并且在同一个 Ip 上运行了 2 个站点,但我不认为,这可能是问题所在。以前我在玩 SSL,我认为这可能是问题所在,但后来我删除了域并从头开始创建了任何内容,但问题仍然存在。

钯。当我尝试从键盘发布原始输入的文本时,我没有问题,但是当我粘贴它时,它通常会使帖子崩溃。

编辑:我的 .htaccess 文件在这里:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
Run Code Online (Sandbox Code Playgroud)

编辑 2:看来我也不能发布链接。当我尝试发布链接时,我遇到了同样的错误。

编辑 3:我试图找到 php 日志文件,但似乎什么都没有。所以我的想法是:如果错误与 wp 尝试写入日志但无法获得许可有关怎么办?我在配置中启用了 php 日志,所以应该至少有一个,但我找不到任何日志。有谁可以告诉我,我必须在哪里寻找日志。现在我正在查看 /var/log 但没有 php 日志文件。

wordpress centos vps

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