繁体   English   中英

参数标签'(content :)'不匹配任何可用的重载,swift,vapor,蒸气中残留的,使用postgresql

[英]Argument labels '(content:)' do not match any available overloads, swift ,vapor,rest in vapor ,using postgresql

错误参数标签'{content:}'与任何可用的重载都不匹配。使用postgresql,而其余的蒸气以可表示json的形式表示。模型控制器的语法如下,这意味着数据库中的内容

import Foundation
import Vapor
import FluentProvider
import PostgreSQLProvider


final class dataPointStorage: Model, JSONRepresentable, NodeRepresentable {

//  var _data: dataPointProtocol?
//    var _data:[dataPointProtocol] = []
    let storage = Storage()
    var id: Node?
    var name:String
    var displayName:String
    var content:String
//    let temp = dataPointStorage()


    init(node:Node ,content: String?, displayName:String, name:String) {
        self.id = nil
        self.displayName = displayName
        self.name = name
    }

        static let idKey = "id"
        static let contentKey = "content"



    func forDataBase() {


        let array:[berichtDataPoint] = [intDataPoint(), boolDataPoint(), doubleDataPoint()]

        let _ = array[0] as! intDataPoint
        let _ = array[1] as! doubleDataPoint


        for point in array {

            switch point {
            case is  intDataPoint:
                print("int")
            case is doubleDataPoint:
                print("double")
            case is boolDataPoint:
                print("bool")
            default:
                print("error")
            }
        }

    }

  func makeRow() throws -> Row {
        var row = Row()
        try row.set("id", id)
        try row.set("displayName", displayName)
        try row.set("name", name)
        return row
    }

    init(row: Row) throws {
        id = try row.get("id")
        displayName = try row.get("displayName")
        name = try row.get("name")
    }

    func makeNode(context: Context) throws -> Node {
        return try Node(node: [
            "id": id,
            "displayName": displayName,
            "name": name
            ])
    }
}

extension dataPointStorage: Preparation {
    static func prepare(_ database: Database) throws {
        try database.create(self) { dataPointStorage in
            dataPointStorage.id()
            dataPointStorage.string("displayName")
            dataPointStorage.string("name")
            dataPointStorage.string("content")

        }
    }

    static func revert(_ database: Database) throws {
        try database.delete(dataPointStorage)
    }
}

extension dataPointStorage: JSONConvertible {
    convenience init(json: JSON) throws {
        try self.init(
       error here¶¶¶ content: json.get(dataPointStorage.contentKey)¶¶¶¶ error
        )
    }

    func makeJSON() throws -> JSON {
        var json = JSON()
        try json.set("id", id)
        try json.set("name", name)
        try json.set("displaName", displayName)
        try json.set("content", Content)

        return json
    }
}

我将蒸气中的其余部分作为JSON可表示的一般上下文进行跟踪,但没有得到解决此简单错误的原因。

看来您正在尝试将其称为init?

init(node:Node ,content: String?, displayName:String, name:String)

在这种情况下,您需要传入其余参数,因为没有可用的默认值:

convenience init(json: JSON) throws {
    try self.init(
        node: <VALUE>,
        content: json.get(dataPointStorage.contentKey),
        displayName: <VALUE>,
        name: <VALULE>
    )
}

那将解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM