![](/img/trans.png)
[英]Swift : '(NSObject, AnyObject)' does not have a member named 'subscript'
[英]Swift Array 'Object' does not have member named subscript
所以我對編程很陌生,我有 2 個課程
在var mazeGame:Maze = Maze()
上,我有var mazeGame:Maze = Maze()
就在它上面的空行上我有一個錯誤“預期聲明”我下面的代碼是我要解決的主要錯誤“'迷宮'沒有名為下標的成員”
if (mazeGame[col][row].checkRoomNorthExit(row,col))
還有一種方法可以快速創建構造函數嗎? 只是這樣我就可以在開始運行時自動調用一系列函數/方法來生成迷宮嗎?
class Maze: NSObject {
var mazeFloor = Array<Array<Room>>()
var mazeSeed:UInt32 = 0
var mazeSizeRows:UInt32 = 20
var mazeSizeCol:UInt32 = 20
var mazeRowPosition:UInt32 = 0
var mazeColPosition:UInt32 = 0
var startRow:Int = 0
var startCol:Int = 0
var endRow:Int = 0
var endCol:Int = 0
override init(){
}
func checkRoomNorthExit(rowPos: Int, colPos: Int) -> Bool{
return mazeFloor[colPos][rowPos].getnorthExit()
}
}
在 Room 類中
class Room: NSObject {
//Used for the 4 sides of the room
var northExit = false
var westExit = false
var eastExit = false
var southExit = false
func getnorthExit() -> Bool {
return northExit
}
}
顯然 mazeGame 有一個類型 Maze,它沒有實現下標,因此你不能像在 if 中那樣通過方括號訪問它。
您應該按以下方式訪問房間:
if (mazeGame.checkRoomNorthExit(row,col))
至於構造函數,您需要為您的類定義 init 方法。 查看 Swift 書中對初始化的解釋 - https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.