gpt4 book ai didi

Swift - 没有参数且有返回值的函数

转载 作者:行者123 更新时间:2023-11-30 13:52:07 25 4
gpt4 key购买 nike

我正在学习 Swift,正在编写一个基本的纸牌游戏初始化函数,我想使用一个函数来设置一些牌组。

Swift 一直提示我在参数 #1 中缺少参数,但实际上没有任何参数,我也不想要任何参数。

Game类如下

class Game
{
// MARK: ** Private vars **
private var gameState: GameState?
private var playerOnTurn: Player?
private var seedCash:Int?

// MARK: ** Public vars **
lazy var players = [Player]()
var chequesDeck:Deck = Deck()
var propertiesDeck:Deck = Deck()

init()
{
self.gameState = .Initialize
self.playerOnTurn = nil // No player on turn when game is initialized
self.seedCash = kInitialSeedCash
}

func setup(numberOfPlayers:Int)
{
// Create decks of properties and cheques
self.propertiesDeck = Deck.createProperties()
self.chequesDeck = Deck.createCheques()



}
}

Deck类如下

// Deck of cards
// Two deck types in the game - (1) Properties & (2) Cheques

class Deck
{
private var cards:[Card] = [] // Empty Array

// @return: An array of cards
func createProperties() -> [Card]
{
var propertyDeck:[Card] = []


// TODO: - Needs Local JSON reader
let prop1 = Card.init(name:"Cardboard box", value:1)
propertyDeck.append(prop1)

let prop2 = Card.init(name:"Outhouse", value:2)
propertyDeck.append(prop2)

let prop3 = Card.init(name:"Outhouse", value:3)
propertyDeck.append(prop3)



return propertyDeck
}

// @return: An array of cards
func createCheques() -> [Card]
{
var chequeDeck:[Card] = []

// create 2 copies of each card, but skip 1s
for var i:Int = 0; i<=15; i++
{
if (i != 1)
{
let chequeCard = Card.init(name: "Cheque", value: i * 1000)
chequeDeck.append(chequeCard)
}
}

return chequeDeck
}

func addCard()
{

}

func shuffle()
{

}
}

Deck() 是一个

func setup() {

var propertiesDeck:Deck = Deck()

// Create property deck
self.propertiesDeck = Deck.createProperties()

}

// Deck.createProperties file
// @return: An array of cards

func createProperties() -> [Card]
{
var propertyDeck:[Card] = []

let prop1 = Card.init(name:"Penthouse", value:1)
propertyDeck.append(prop1)

return propertyDeck
}

但 swift 一直提示这一点;

Missing argument for parameter #1 in call

但是没有任何参数。

也许我做错了什么/愚蠢的事情?

最佳答案

此错误通常表示 Deck 需要一些构造函数参数。您能否发布您的 Deck 类,以便我看看是否有?

还有一些更多的建议。您似乎正在创建 Deck 变量 propertiesDeck,但随后通过声明 Deck.createProperties() 静态访问 createProperties。您不应该调用 propertiesDeck.createProperties() 吗?另外,createProperties 返回 Card 对象的数组,但 propertiesDeck 是 Deck 类。

关于Swift - 没有参数且有返回值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com