小编Bri*_*den的帖子

在开始日期和结束日期之间 Firestore

我有带有startDate和 的文档endDatestartDate我想查询和之间的范围endDate。我可以在一个日期的范围之间查询,如下所示:

whereField("startDate", isGreaterThan: start).whereField("startDate, isLessThan: end)
Run Code Online (Sandbox Code Playgroud)

但我无法像这样查询两个字段:

whereField("startDate", isGreaterThan: start).whereField("endDate", isLessThan: end)
Run Code Online (Sandbox Code Playgroud)

在复合 where 语句中使用多个字段时,Firestore 会发生异常。

firebase google-cloud-firestore

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

为什么在这种情况下使用工厂构造函数

我在本文中发现了一个有用的解析复杂 JSON 工具。该工具将采用 JSON 示例并用您选择的编程语言对其进行解析。

我目前正在使用 Dart 和我的简单原始 JSON“内容”示例:

{
  "title": "Welcome to quicktype!"
}
Run Code Online (Sandbox Code Playgroud)

由Dart 中的 JSON 工具解析后会创建以下 Dart 类:

import 'dart:convert';

Content contentFromJson(String str) => Content.fromJson(json.decode(str));

String contentToJson(Content data) => json.encode(data.toJson());

class Content {
    String title;

    Content({
        this.title,
    });

    factory Content.fromJson(Map<String, dynamic> json) => new Content(
        title: json["title"],
    );

    Map<String, dynamic> toJson() => {
        "title": title,
    };
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,工厂构造函数的目的是什么?没有存储 Content 类实例化的“私有”变量。没有检查缓存或键,以便在使用相同原始 JSON 数据参数的后续 Content.fromJson 调用中返回已实例化的 Content 类。

因为使用了factory关键字,这是否意味着Dart仅仅因为该方法被表示为工厂构造函数就在幕后处理重用相同的实例化?

dart flutter

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

任何人都可以告诉我这个javascript可能在做什么

所以我正在查看一个包含以下javascript行的项目:

window.negotiationApp = window.negotiationApp || {};
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这行代码吗?

更新 现在,我了解这行代码正在做什么,我的问题可能是独特的问题如下:

javascript代码中没有negotiationApp对象.window.negotiationApp将始终设置为空对象,开发人员似乎只是将其用作其他对象的命名空间或容器.这是一个常见的JavaScript练习吗?

javascript

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

在Visual Studio 2012中使用CSS媒体查询格式化文档错误

所以这:

@media(min-width:768px)
{
    .mini-logo
    {
       display: block;
       float: left;
       padding-top: 15px;
    }

}
Run Code Online (Sandbox Code Playgroud)

变成这样:

@media(min-width:768px)
{
    .mini-logo;

{
    display: block;
    float: left;
    padding-top: 15px;
}

}
Run Code Online (Sandbox Code Playgroud)

在Visual Studio 2012中格式化文档时(CTRL + K,CTRL + D)

我已经有了这个更新:http://www.visualstudio.com/en-us/downloads#d-visual-studio-2012-update

还有其他建议吗?

css visual-studio-2012

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

有没有办法替换 Rank() OVER SQL 中的 TOP 100 PERCENT?

所以这个 SQL 对相册中的页面进行排序,在添加新上传的页面后调用它,它更新序列顺序:

UPDATE Gallery.AlbumAsset
SET
    Sequence = X.Rank
FROM Gallery.AlbumAsset albass
INNER JOIN 
(
    SELECT TOP 100 PERCENT
        Rank() OVER (Order By Sequence, AssetId) As Rank, AssetId
    FROM Gallery.AlbumAsset
    WHERE AlbumId = @AlbumId and Sequence > 0
    ORDER BY Rank

) X ON albass.AssetId = X.AssetId AND albass.Sequence != X.Rank
WHERE albass.AlbumId = @AlbumId
Run Code Online (Sandbox Code Playgroud)

我认为 TOP 100 PERCENT 令人困惑,并且对于可读性来说不是最佳的,所以我尝试进行更改:

UPDATE Gallery.AlbumAsset
SET
    Sequence = X.Rank
FROM Gallery.AlbumAsset albass
INNER JOIN 
(
    SELECT
        Rank() OVER (Order By Sequence, AssetId) As …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

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

向UITableViewCell Swift添加渐变背景

我在这里发现了这个问题: Swift:在tableview的单元格上的渐变

我正在使用Custom UITableViewCell,它具有以下代码:

public class MyCustomUITableViewCell: UITableViewCell {
 override public func layoutSubviews() {
    super.layoutSubviews()

    //setting backgroundColor works
    //self.backgroundColor = UIColor.brownColor()

    self.backgroundColor = UIColor.clearColor()

    let colorTop = UIColor(red: 192.0/255.0, green: 38.0/255.0, blue: 42.0/255.0, alpha: 1.0).CGColor
    let colorBottom = UIColor(red: 35.0/255.0, green: 2.0/255.0, blue: 2.0/255.0, alpha: 1.0).CGColor

    let gradient = CAGradientLayer()
    gradient.colors = [ colorTop, colorBottom]
    gradient.locations = [ 0.0, 1.0]

    self.backgroundView = UIView()

    //setting view backgroundColor does not work
    //self.backgroundView?.backgroundColor = UIColor.redColor()

    self.backgroundView!.layer.insertSublayer(gradient, atIndex: 0)
  }
}
Run Code Online (Sandbox Code Playgroud)

显示的UITableViewCells是清晰的,因为我设置self.backgroundColor为 …

iphone uitableview ios swift

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

ScrollController 不滚动到内容底部

使用ScrollControllerand TextFormField FocusNodetoscrollController.animateTo scrollController.position.maxSCrollExtent当键盘显示 to 以进入TextFormField我的“提交”按钮上方时,我无法在视图底部显示我的“提交”按钮。

注意我已经尝试将resizeToAvoidBottomInsetset 设置为 true 和 false。

我的SingleChildScrollView代码片段

  ScrollConfiguration(
          behavior: ScrollBehaviorHideSplash(),
          child: SingleChildScrollView(
            controller: _scrollController,
            child: Column(
              mainAxisAlignment: MainAxisAlignment.start,
              children: <Widget>[...widgets
Run Code Online (Sandbox Code Playgroud)

我的 FocusNode 聚焦功能:

  void _scrollToBottom() {
    print('scrollToBottom');
    _scrollController.animateTo(
      _scrollController.position.maxScrollExtent,
      curve: Curves.easeOut,
      duration: const Duration(milliseconds: 750),
    );
  }
Run Code Online (Sandbox Code Playgroud)

我也试过 _scrollController.position.maxScrollExtent + 400.0以防万一。

内容显示具有resizeToAvoidBottomInset: true 在此处输入图片说明

我希望 ScrollController 滚动到哪里,但目前必须手动滚动才能看到按钮: 在此处输入图片说明

flutter flutter-layout

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

重置推送通知/设备注册/实例 ID - 通过 TestFlight 或 App Store 进行应用程序更新 - Firebase 云消息传递 iOS/React Native Firebase

关于这个问题做了很多研究,首先是我的设置:

我的问题非常简单直接,尽管我似乎无法找到解决问题的明确方法。

我部署了应用程序的 4.2 版本。iOS 中的 Firebase 云消息传递 (FCM) 运行得非常好。然后我将 4.3 部署到 TestFlight 开始测试。通过 TestFlight 安装 4.3,FCM 停止工作,没有推送通知。如果我删除该应用程序并通过 TestFlight 推送通知再次安装 4.3,则该设备已注册。

我还可以重现此问题,更新最新发布的 App Store 中我的应用程序的安装版本,这并不奇怪。

我知道 InstanceId/设备令牌基于应用程序构建+设备,因此当应用程序更新时令牌发生变化是有意义的,但当我从 4.2 更新到 4.3 时我的令牌是相同的:

const fcmToken = await firebase.messaging().getToken(); //same whether 4.2 or 4.3
Run Code Online (Sandbox Code Playgroud)

是的, firebase.messaging().getToken() 在初始创建时被缓存。

所以我准备监听令牌更改事件:

firebase.messaging().onTokenRefresh(async () => {
  console.log('======onTokenRefresh=========');
  AsyncStorage.removeItem(FCM_TOKEN_KEY);
  await getToken();
});
Run Code Online (Sandbox Code Playgroud)

那似乎永远不会火。我什至在我的应用程序中添加了一个按钮,以尝试强制使用新的 InstanceId 并在从 TestFlight 或 AppStore 更新版本后向 FCM 注册,但这没有帮助:

export async function forceRefresh() {
  console.log('================force a new registration!!!==========');
  AsyncStorage.removeItem(FCM_TOKEN_KEY);
  firebase.messaging().deleteToken(); …
Run Code Online (Sandbox Code Playgroud)

ios firebase reactjs react-native react-native-ios

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