gpt4 book ai didi

arrays - SWIFT:努力在数组中添加随机名称

转载 作者:行者123 更新时间:2023-11-30 11:37:51 24 4
gpt4 key购买 nike

我的应用程序非常基本,首先输入所有玩家名称,所有这些名称都存储到一个数组中。其次,最后一个屏幕会弹出一个句子,一旦您单击按钮,该句子就会更改为数组的第二个元素,再次单击它会转到第三个元素,依此类推。我可以做到的最简单的方法是每次单击它删除数组[0]。

但是在这个数组句子中,我包含了玩家名称(您在开头输入的名称,但我采用了玩家名称数组的随机元素。因此随机语句工作正常,但它不会每次都采用随机名称)当我点击时。它所采用的第一个随机元素会粘在...请帮助

ps:当我打印(p1)时,它会改变,但在屏幕/应用程序上不会改变

import UIKit

var q = ["Hello " + p1,"wie is die beste ? Malcolm is !!!","Hoe Gaan Dit " + p1 + " en met jou ook " + p2,"Gaan Baie goed dankie " + p1,"Wat Maak jy " + p2,"Ek sit maar hierso " + p2,"We are getting somewhere " + p1,"blah blah blah hoe gaan daai song van eminem alweer " + p1,"EK vorder met apps maak elke dag hehe " + p2,""]

var p1 = ""
var p2 = ""
var random = [String]()

var pc1 = 0
var pc2 = 0

/////////////////////////

@IBAction func next(_ sender: Any) {
//chosing a random player

pc1 = Int(arc4random_uniform(UInt32(players.count)))
pc2 = Int(arc4random_uniform(UInt32(players.count)))

if pc1 == pc2{
pc1 = Int(arc4random_uniform(UInt32(players.count)))
pc2 = Int(arc4random_uniform(UInt32(players.count)))
}

p1 = players[pc1]
p2 = players[pc2]

if q[0] != "" {
dis.text = q[0]
q.remove(at: 0)
} else {
dis.text = ""
}
}

最佳答案

问题出在串联上。您正在创建一个内部有串联的字符串数组,当从操作内部调用该数组时,不会使用该数组的串联。

最好的解决方案是在操作方法的范围内创建引号数组,并递增索引,直到达到数组的总计数。

为此,您必须在方法范围之外创建一个变量,并对其进行递增,直到达到与 q 计数相同的数字。一旦达到相同的计数,您将其重置回 0,并且该过程将重新开始。

示例:

var p1 = ""
var p2 = ""
var random = [String]()

var pc1 = 0
var pc2 = 0
var index = 0


/////////////////////////

@IBAction func next(_ sender: Any) {
//chosing a random player

pc1 = Int(arc4random_uniform(UInt32(players.count)))
pc2 = Int(arc4random_uniform(UInt32(players.count)))

if pc1 == pc2{
pc1 = Int(arc4random_uniform(UInt32(players.count)))
pc2 = Int(arc4random_uniform(UInt32(players.count)))
}

p1 = players[pc1]
p2 = players[pc2]

// Array of quotes is now inside the scope of the method.
var q = ["Hello " + p1,"wie is die beste ? Malcolm is !!!","Hoe Gaan Dit " + p1 + " en met jou ook " + p2,"Gaan Baie goed dankie " + p1,"Wat Maak jy " + p2,"Ek sit maar hierso " + p2,"We are getting somewhere " + p1,"blah blah blah hoe gaan daai song van eminem alweer " + p1,"EK vorder met apps maak elke dag hehe " + p2,""]

// Using the quote
dis.text = q[index]

// Incrementing index
index += 1

// Keeping track of the index's count
// and reseting it back to 0
if index == q.count {
index = 0
}
}

假设这就是您在应用的实现中寻找的内容,这将帮助您解决问题。

祝你好运,希望这会有所帮助。

关于arrays - SWIFT:努力在数组中添加随机名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49545266/

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