gpt4 book ai didi

ios - 扩展数组以附加 SKTextures

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:37 25 4
gpt4 key购买 nike

<分区>

作为 Swift 的新手,我决定考虑扩展 Array(或更具体地说,[SKTexture] Arrays of SKTexture),添加指定数量的来自应用程序包的帧。

// FRAMES
FuzzyRabbit_0001@2x.png
FuzzyRabbit_0002@2x.png
FuzzyRabbit_0003@2x.png
FuzzyRabbit_0004@2x.png

// CALL
var rabbitTextures = [SKTexture]()
self.rabbitTextures.textureFromFrames("FuzzyRabbit", count: 4)

下面列出了我的第一次尝试,我收到错误 Cannot invoke 'append' with an argument list of type '(SKTexture!)' 从查看函数 fuzzyPush 是因为我试图附加一个 SKTexture 而不是通用的 T

这是否可能,或者我是否受到以下事实的限制:我不希望该函数是通用的,而是特定于 SKTexture 的数组。

extension Array {

// ONLY SKTexture
mutating func textureFromFrames(imageName: String, count: Int) {
if !(self[0] is SKTexture) { return }
for index in 1...count {
let image = String(format: "\(imageName)_%04d", index)
let texture = SKTexture(imageNamed: image)
self.append(texture) // ERROR: Cannot invoke append with an argument list of type SKTexture!
}
}

// WORKS FINE
mutating func fuzzyPush(newItem: T) {
self.append(newItem)
}
}

我很好奇这是否是我可以用扩展来做的事情,这不是问题,因为我将它作为一个函数使用 3 个参数(imageName、count、arrayToAppend),所以我可以很容易地使用它。

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