2017-10-10 4 views
0

Fehler Argument Labels '(content :)' stimmen nicht mit irgendwelchen verfügbaren Überladungen überein. Using postgresql während der Rest in Dampf json representable.The Syntax für Modellsteuerung zu erhalten, wie folgt, für Inhalte in der DatenbankArgument Labels '(content :)' passen nicht zu irgendwelchen verfügbaren Überladungen, swift, dampf, Ruhe in Dampf, mit postgresql

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 
    } 
} 

ich folge dem allgemeinen Kontext der Rest in Dampf als JSON darstellbare bedeutet aber nicht, den Grund dieser einfachen erhalten Fehler zu lösen.

Antwort

0

Es sieht so aus, als ob Sie versuchen, diese Init zu nennen?

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

Wenn das der Fall ist, müssen Sie in den Rest der Argumente zu übergeben, weil es für sie keine Standardwerte vorhanden sind:

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

, dass Ihr Problem zu beheben.

Verwandte Themen