I'm currently converting C++ code to Swift and I've gotten stuck on one part. The parameter passed into the function is a string and the area where I'm stuck is when attempting to set a variable based on the second to last character of a string to check for a certain character.
The error shows up on this line:
line[i-1]
I've tried casting this value to an Int but this didn't work:
Int(line[i - 1])
I've also tried to see if the string's startIndex function which takes a Int would work but it didn't:
line.startIndex[i - 1]
Here is the full function:
func scanStringForSpecificCharacters(line: String){
    var maxOpen: Int = 0;
    var minOpen: Int = 0;
    minOpen = 0;
    maxOpen = 0;
    var i = 0
    while i < line.characters.count {
        for character in line.characters {
            //var c: Character = line[i];
            if character == "(" {
                maxOpen += 1;
                if i == 0 || line[i - 1] != ":" {
                    minOpen += 1;
                }
            }
            else if character == ")"{
                minOpen = max(0,minOpen-1);
                if i == 0 || line[i-1] != ":"{
                    maxOpen -= 1;
                }
                if maxOpen < 0{
                    break;
                }
            }
        }
        if maxOpen >= 0 && minOpen == 0{
            print("YES")
        }else{
            print("NO")
        }
    }
}
 
     
     
     
    