2016-11-03 4 views
-2

Ich versuche ein Array mit allen Monaten einzugeben und sie nacheinander in meinem scrollbaren Kalender anzuzeigen. Ich versuche, jeden einzelnen "Monat" für jeden Header des Kalenders zurückzugeben.Swift String Array Iterationsfunktion

Ich benutze das folgende String-Array, aber ich bin mir nicht sicher, wie man eine Art von "String" für das, was ich wünsche, zurückgibt. Irgendwelche Ideen, was ich falsch mache? Danke

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 

    } 


} 

Ich möchte diese Funktion aufrufen, um jeden "Monat" -String einzeln anzuzeigen.

+1

Monate Zähler wird in erster Sprung zurückkehren, das heißt Januar und kommen aus Schleife –

+0

Es fehlt mir ein Typ ‚String‘ nach der for-Schleife in meiner Funktion zurückzukehren. Wie würde ich das tun? Danke –

+0

Ich würde diesen Code verwenden, um ein Array von Monaten zu erhalten, die für Sie lokalisiert und abgeschlossen ist: 'Lassen Sie Monate = Calendar.current.monthSymbols' – ColGraff

Antwort

-3

Es gibt mehrere Probleme mit Ihrem Code. Zunächst sollte Array<String>[String] sein und die Rückkehr von innen eine Iteration wird die Iteration beenden. Sie können dort eine Funktion aufrufen, oder Sie können print("\(name)") starten, um zu sehen, ob Ihr Code funktioniert.

Wie ich in meinen Kommentaren unten geschrieben habe, denke ich, dass Ihre Vorgehensweise nicht korrekt ist. Ihre Delegate-Funktion funktioniert nicht so. Selbst wenn ein einzelner moonCounter-Aufruf mehrere Male zurückgeben könnte, würden Sie das gleiche Textattribut immer wieder überschreiben. Suchen Sie nach der richtigen zu verwendenden Delegatfunktion, die im Monat für die angezeigte Kopfzeile übergeben wird. Siehe meine Kommentare für einen möglichen Hinweis.

+1

Es ist in Ordnung, 'Array ' zu haben. Wir haben 'public struct Array : RandomAccessCollection, MutableCollection' –

+0

Sie haben absolut Recht. [String] ist nur eine Kurzversion von Array . Ich fand es jedoch merkwürdig, [String] als Typ für Monate und dann Array in der Funktionsdeklaration zu verwenden. –

+0

Gotcha, aber was sollte ich nach der for-Schleife Klammer zurückkehren? Danke –

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