Swift Array of class : 如何在 class 的方法中查找索引
Swift Array of class : how to find index in a method of the class
让我们考虑以下代码:
Class AClass : SKNode
{
func AFunction ()
{
// Some code
}
}
var AnArrayOfAClass[AClass]()
AnArrayOfAClass[x].AFunction
当我调用 AFunction 方法时,我如何知道 AFunction 中索引的值(在我想要执行的调用示例中,索引是 x,就像上面最后一行代码中那样)?有没有办法避免将它作为 AFunction 的参数传递?
感谢
J.
我不确定这是否可行,因为我仍然不确定范围问题,但这将 return AnArrayOfAClass
中第一个值的索引与调用函数的对象:
class AClass {
func aFunction() {
// This maps AnArrayOfAClass to an array of Bool values depending
// on whether or not the value at the index === the object calling the function
// and then returns the index of the first true that it encounters:
if let index = find(anArrayOfAClass.map({ [=10=] === self }), true) {
println(index)
}
}
}
var anArrayOfAClass = [AClass]()
let aClass = AClass()
anArrayOfAClass += [aClass]
anArrayOfAClass[0].aFunction() // If everything worked, this should print "0",
// which is the correct index of aClass
然后我将所有内容更改为我认为合适的驼峰式 - 无意冒犯 :)
让我们考虑以下代码:
Class AClass : SKNode
{
func AFunction ()
{
// Some code
}
}
var AnArrayOfAClass[AClass]()
AnArrayOfAClass[x].AFunction
当我调用 AFunction 方法时,我如何知道 AFunction 中索引的值(在我想要执行的调用示例中,索引是 x,就像上面最后一行代码中那样)?有没有办法避免将它作为 AFunction 的参数传递?
感谢
J.
我不确定这是否可行,因为我仍然不确定范围问题,但这将 return AnArrayOfAClass
中第一个值的索引与调用函数的对象:
class AClass {
func aFunction() {
// This maps AnArrayOfAClass to an array of Bool values depending
// on whether or not the value at the index === the object calling the function
// and then returns the index of the first true that it encounters:
if let index = find(anArrayOfAClass.map({ [=10=] === self }), true) {
println(index)
}
}
}
var anArrayOfAClass = [AClass]()
let aClass = AClass()
anArrayOfAClass += [aClass]
anArrayOfAClass[0].aFunction() // If everything worked, this should print "0",
// which is the correct index of aClass
然后我将所有内容更改为我认为合适的驼峰式 - 无意冒犯 :)