Как получить набор наборов из текстового поля?

#ios #swift

#iOS #swift

Вопрос:

Мне нужно преобразовать значение из textField.text в Set<Set<Int?>>

Пример строки: [nil],[1],[2],[1,2]

Комментарии:

1. Объясните свой рабочий процесс. Каковы возможные входные данные и как это должно работать.

2. Входные данные — целые числа и nill, программа должна сначала получить строку из текстового поля, а затем преобразовать ее в тип, описанный выше

3. Не ясно. Пользователь должен записывать данные типа: 1,2,3,5 ?

Ответ №1:

 let string = "[nil],[1],[2],[1,2]"

var resultArray: [Set<Int?>] = []

for substring in string.split(separator: "[") {
    var set = Set<Int?>()
    var setString = String(substring)
    setString.removeLast(setString.last == "]" ? 1 : 2)
    for substring in setString.split(separator: ",") {
        set.insert(Int(substring))
    }
    resultArray.append(set)
}
print(resultArray)
// [Set([nil]), Set([Optional(1)]), Set([Optional(2)]), Set([Optional(2), Optional(1)])]