Swift 字符串数组迭代函数

Swift String Array Iterating Function

我正在尝试输入一个包含所有月份的数组,并在我的可滚动日历上一一显示。我正在尝试 return 每个 "month" 日历的每个 header。

我正在使用以下字符串数组,但我不确定如何 return 一种 "String" 来满足我的需求。关于我做错了什么的任何想法?谢谢

let months: [String] = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]

func monthCounter(inputArray:Array<String>) -> String{
    for name in inputArray{
        return name

    }


} 

我想调用此函数来单独显示每个 "month" 字符串。

func calendar(_ calendar: JTAppleCalendarView, willDisplaySectionHeader header: JTAppleHeaderView, range: (start: Date, end: Date), identifier: String) {


        let headerCell = (header as? MonthsHeader)
        headerCell?.monthsHeader.text = monthCounter(inputArray: months)
    }
}

您的代码存在一些问题。 首先,Array<String> 应该是 [String] 并且 return 从迭代内部进入将终止迭代。您可以在那里调用一个函数,或者您可以 print("\(name)") 开始查看您的代码是否正常工作。

正如我在下面的评论中所写,我认为您的方法不正确。您的委托函数不能那样工作。即使单个 monthCounter 调用能够 return 多次,您也会一遍又一遍地覆盖相同的文本属性。寻找正确的委托函数以使用在将显示的 header 的月份中传递的函数。请参阅我的评论以获取可能的提示。

headerCell?.monthsHeader.text = monthCounter[index of section]