Erreur Swift: l'éditeur placeholder dans le fichier source
Bonjour je suis à la mise en œuvre d'une structure de données de graphe. Quand j'essaie de construire l'application, j'obtiens l'erreur "Editor placeholder in source file"
L'un graphe complet de la mise en œuvre a été tiré à partir WayneBishop de GitHub à partir d'ici https://github.com/waynewbishop/SwiftStructures
class Path {
var total: Int!
var destination: Node
var previous: Path!
init(){
//Error happens on next line
destination = Node(key: String?, neighbors: [Edge!], visited: Bool, lat: Double, long: Double)
}
}
j'ai changé le Node
Classe autour de:
public class Node{
var key: String?
var neighbors: [Edge!]
var visited: Bool = false
var lat: Double
var long: Double
init(key: String?, neighbors: [Edge!], visited: Bool, lat: Double, long: Double) {
self.neighbors = [Edge!]()
}
}
Cette Erreur se produit 5 fois dans le code que j'ai construit jusqu'à présent. Cette question a également été posée, mais pas de réponse.
je pense que l'erreur peut être due à mes modifications à l' init()
dans le Node
classe. Avant mes modifications, c'était juste init()
. Si elle l'est, comment puis-je ajouter des objets à la classe? Pardonnez-moi si Je ne suis pas correct dans ma terminologie de programmation, car je suis relativement nouveau à L'OOP.
3 réponses
vous avez eu ce
destination = Node(key: String?, neighbors: [Edge!], visited: Bool, lat: Double, long: Double)
qui était le texte de support de place au-dessus de vous devez insérer quelques valeurs
class Edge{
}
public class Node{
var key: String?
var neighbors: [Edge]
var visited: Bool = false
var lat: Double
var long: Double
init(key: String?, neighbors: [Edge], visited: Bool, lat: Double, long: Double) {
self.neighbors = [Edge]()
self.key = key
self.visited = visited
self.lat = lat
self.long = long
}
}
class Path {
var total: Int!
var destination: Node
var previous: Path!
init(){
destination = Node(key: "", neighbors: [], visited: true, lat: 12.2, long: 22.2)
}
}
parfois, XCode n'oublie pas la ligne qui avait un "éditeur Placeholder" même si vous l'avez remplacé par une valeur. Coupez la partie du code où XCode se plaint et collez le code au même endroit pour faire disparaître le message d'erreur. Cela a fonctionné pour moi.
Erreur est simple et c'est parce que de faux espaces réservés que vous avez utilisé dans l'appel de fonction. À l'intérieur de init
vous ne passez aucun paramètre à votre fonction. Il devrait être de cette façon
destination = Node("some key", neighbors: [edge1 , edge2], visited: true, lat: 23.45, long: 45.67) // fill up with your dummy values
Ou vous pouvez simplement initialiser avec la méthode par défaut
destination = Node()
UPDATE
Ajouter un initialiseur vide dans votre classe de noeuds
init() {
}