小编jer*_*ney的帖子

Swift 5:在“self.init”调用之前使用“self”

我正在尝试使用所需的便利的可失败初始化程序。这是我正在使用的代码:

public init(authState: OIDAuthState, config: [String: String], accessibility: CFString = kSecAttrAccessibleWhenUnlockedThisDeviceOnly) throws {
        self.authState = authState
        self.config = config
        self.accessibility = accessibility

        super.init()

        KeycloakAuth.configuration = config
    }

public required convenience init?(coder aDecoder: NSCoder) {
        try? self.init(authState:     aDecoder.decodeObject(forKey: "authState")     as! OIDAuthState,
                       config:        aDecoder.decodeObject(forKey: "config")        as! [String: String],
                       accessibility: aDecoder.decodeObject(forKey: "accessibility") as! CFString)
    }
Run Code Online (Sandbox Code Playgroud)

'self' used before 'self.init' call我在线路上收到错误public required...,并且线路上再次出现相同的错误try? self.init(...

我查看了 Stack Overflow 上的其他一些相关问题。即这些:

  1. iOS Swift 便利初始化器 self 在 self.init 调用之前使用
  2. 在自定义类上使用 NSCoding 时,在 self.init 调用之前使用“self”错误 …

initialization swift swift5

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

多个DataWeave函数中的优先级

我正在学习Mule Dev 1课程,并且陷入模块内容和我在实践中看到的东西之间。

模块内容指出:

“使用一系列功能时,链中的最后一个功能将首先执行。”

所以

filghts orderBy $.price filter ($.availableSeats > 30) 
Run Code Online (Sandbox Code Playgroud)

会“先过滤然后再排序”。

但是,我看到以下语句:

payload.flights orderBy $.price filter $.price < 500 groupBy $.destination
Run Code Online (Sandbox Code Playgroud)

实际上并不首先执行groupBy。实际上,将groupBy放置在其他任何地方都会引发错误(因为更改了groupBy之后的输出架构)。

对于显然为什么不是这样的情况,对于为何模块声明最后一个函数首先执行的问题,这里有何想法?

谢谢!

mule dataweave mulesoft

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

DataWeave 2.0反斜杠转义

如何在DataWeave 2.0中获得一个反斜杠?

%dw 2.0
output application/json
---
{
  "attempt1": "\String",
  "attempt2": "\\String"
}
Run Code Online (Sandbox Code Playgroud)

返回值:

{
  "attempt1": "\\String",
  "attempt2": "\\String"
}
Run Code Online (Sandbox Code Playgroud)

mule dataweave

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

Mac 上使用 Postgres 的 Docker Volumes

我正在尝试在 Mac OSX 上运行以下命令:

docker run --rm --name kong-database \
    --network=kong-net \
    -v /Volumes/docker/postgres:/var/lib/postgresql/data \
    -p 5432:5432 \
    -e "POSTGRES_USER=kong" \
    -e "POSTGRES_DB=kong" \
    postgres:9.6
Run Code Online (Sandbox Code Playgroud)

目的是在 docker 容器中启动 postgres,并将数据库数据保存在我的本地文件系统中/Volumes/docker/postgres。但是,我收到以下错误,并且容器无法运行:

chown: changing ownership of '/var/lib/postgresql/data': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

知道我能做些什么来实现这一目标吗?

postgresql macos docker docker-volume

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

花费时间和Java时间/迭代创建奇怪的结果

我正在使用clojure.java-time0.3.2版,并且我有一个TemporalAdjuster定义如下:

(def next-pay-day
  (reify java.time.temporal.TemporalAdjuster
    (adjustInto [this temporal]
      (let [local-date (java.time.LocalDate/from temporal)
            day-of-month (j/as local-date :day-of-month)
            last-day-of-month (j/as (j/adjust local-date :last-day-of-month) :day-of-month)]
        (cond 
          (= day-of-month last-day-of-month) 
          (j/plus local-date (j/days 14))

          (< day-of-month 14) 
          (j/plus local-date (j/days (- 14 day-of-month)))

          :else 
          (j/adjust local-date :last-day-of-month))))))
Run Code Online (Sandbox Code Playgroud)

哪个是这样的:

=> (require '[pto-calculator.logic.pay-periods :as p])
nil
=> (require '[java-time :as j])
nil
=> (take 4 (j/iterate j/adjust (j/local-date 2019 3 3) p/next-pay-day))
(#object[java.time.LocalDate 0x74e53020 "2019-03-03"] #object[java.time.LocalDate 0x49980a "2019-03-14"] #object[java.time.LocalDate 0x2e332a36 "2019-03-31"] #object[java.time.LocalDate …
Run Code Online (Sandbox Code Playgroud)

clojure java-time

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

SQL:查询大于 X 个月和 Y 天前的日期

是否可以为 MySQL 构造一个SELECT基于大于 1 个月又 4 天前的日期的 SQL 查询?

我知道以下情况是可能的:

SELECT * FROM TBL WHERE DATE_COL > date_sub(now(), INTERVAL 1 MONTH);
Run Code Online (Sandbox Code Playgroud)

但是,如果我想在 date_sub 中的间隔中再添加 4 天(或任意天数)怎么办?

mysql sql date

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