Swift错误:源文件中的编辑器占位符

Luc*_*osa 29 class ios swift

您好我正在实现图形数据结构.当我尝试构建应用程序时,我收到错误"源文件中的编辑器占位符"

从这里开始从WayneBishop的GitHub中提取完整的图形实现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)
     }
}
Run Code Online (Sandbox Code Playgroud)

我把Node班级改为:

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!]()
     }

}
Run Code Online (Sandbox Code Playgroud)

在我到目前为止构建的代码中,此错误发生了5次.此问题也被提出,但没有回答.

我认为错误可能是由于我init()Node班级的改动.在我改变之前它只是init().如果是,我该如何在课堂上添加对象?请原谅我,如果我的编程术语不正确,因为我对OOP相对较新.

Vis*_*hry 36

有时,XCode不会忘记具有"编辑器占位符"的行,即使您已将其替换为值.剪切XCode抱怨的代码部分,并将代码粘贴回相同的位置,以使错误消息消失.这对我有用.

  • 我发现剪切/粘贴效果不佳,但是重建就可以了。产品->构建干净文件夹,产品->构建 (3认同)

Xpr*_*eek 15

转到产品>清理构建文件夹


Dav*_*Liu 7

你有这个

destination = Node(key: String?, neighbors: [Edge!], visited: Bool, lat: Double, long: Double)
Run Code Online (Sandbox Code Playgroud)

这是上面的占位符文本,您需要插入一些值

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)
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 5

使用Command + Shift + B后,项目可以正常运行。