Swift: Rekursiver Werttyp
Ich habe eine Struktur, in der ich eine globale Variable vom Typ Struct? Haben möchte. Dieses Beispiel ist im Wesentlichen eine kürzere Version der Struktur, die ich gerade erstelle.
struct SplitString { //splits a string into parts before and after the first "/"
var preSlash: String = String()
var postSlash: SplitString? = nil
init(_ str: String) {
var arr = Array(str)
var x = 0
for ; x < arr.count && arr[x] != "/"; x++ { preSlash.append(arr[x]) }
if x + 1 < arr.count { //if there is a slash
var postSlashStr = String()
for x++; x < arr.count; x++ {
postSlashStr.append(arr[x])
}
postSlash = SplitString(postSlashStr)
}
}
}
Es wirft jedoch den Fehler:
Recursive value type 'SplitString' is not allowed
ibt es eine Möglichkeit, dies zu umgehen? Jede Hilfe wäre toll. Vielen Dank :
Bearbeiten: Falls relevant, programmiere ich auf iOS, nicht auf OSX.
Bearbeiten: Wenn ich habe:
var split = SplitString("first/second/third")
ch würde erwarten, dass split:
{preSlash = "first", postSlash = {preSlash = "second", postSlash = {preSlash = "third",
postSlash = nil}}}