【发布时间】:2015-04-04 11:52:42
【问题描述】:
我正在尝试在 Xcode 中创建一个函数,每次点击按钮时我都可以调用该函数以按顺序遍历数组,然后更新按钮标题的值。
我似乎无法应对挑战。我已经尝试了 while 循环和 if 语句的各种迭代,但每次我运行它时,我都会直接在数组中的最后一个值处结束。这是我目前得到的代码,我试图添加一个 break 子句来阻止函数自动遍历整个数组,但它现在抛出一条错误消息,指出 return 语句之后的代码永远不会被执行:
所以,我在 viewController 中创建了一个按钮实例,如下所示:
@IBAction func repCount() {
repCountButton.setTitle("\(repCounter.repCount())", forState: UIControlState.Normal)
我希望这将使用我从每次按下按钮时调用的 repCount 函数返回的内容更新按钮的标题。
我已经在一个名为 repCounter 的单独 Swift 文件中设置了该函数,并且我的 repCount 函数代码如下:
var repArray = [1,2,3,4,5]
var repArrayIndex: Int = 0
func repCount () -> String {
if repArrayIndex < repArray.count {
while repArrayIndex < repArray.count {
return "\(repArray[repArrayIndex])"
break
}
repArrayIndex++
} else {
return "\(repArray[0])"
}
}
我想做的是在每次调用数组时循环遍历数组,一旦到达数组末尾,就再次从数组的开头开始循环。
提前感谢您的帮助!
【问题讨论】:
-
你只是想获取当前索引的字符串吗?
-
我认为你应该解释你想要达到的目标。我不知道您要做什么,但请注意,您在 while 循环之外增加索引,这是您想要的吗?而且你从来没有重置索引,它是否也期望到最后一个元素并留在那里?
-
嗨,对不起——我才刚学几天编程,这是我的第一篇文章!我会用更多的上下文更新我的问题
标签: arrays function swift if-statement while-loop