gpt4 book ai didi

arrays - 在数组 Swift 中使用函数

转载 作者:行者123 更新时间:2023-11-28 11:17:25 25 4
gpt4 key购买 nike

我使用以下函数从数组中随机检索一个人:

func getRandomPerson() -> String{

if(personArray.isEmpty){
return ""
} else {
var tempArray: [String] = []
for person in personArray{
tempArray += [person.getName()]
}
var unsignedArrayCount = UInt32(tempArray.count)
var unsignedRandomNumber = arc4random_uniform(unsignedArrayCount)
var randomNumber = Int(unsignedRandomNumber)
if tempArray.isEmpty {
return ""
} else {
return tempArray[randomNumber]
}
}
}

我想在一个字符串数组中使用这个函数,像这样:

 var theDares: [String] = ["Dare1 \(getRandomPerson())", "Dare2", "Dare3", "Dare4", "Dare5"]

但是当我使用这些函数时,它只运行一次函数。在这种情况下,您能否在每次使用“Dare1”时都运行该函数。

提前致谢

最佳答案

我想你是在问你是否可以设置你的数组,这样每次你在索引 0 处获取对象时,它都会在那里重新构建值。

简短的回答是否定的。您的代码正在创建一个字符串数组,索引 0 处的项目是使用函数调用一次构建的。

但是,可以使自定义类实现下标运算符。您可以创建一个看起来像数组的自定义对象,并允许您使用 Int 索引对其进行索引。作为对索引运算符的响应,您可以运行构建并返回随机字符串的自定义代码。

由于听起来您是一个新手程序员,因此您可能无法创建自定义类,但下标运算符的实现可能超出您目前的能力范围。

关于arrays - 在数组 Swift 中使用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854293/

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