У меня есть функция, возвращающая дополнительный кортежДобавление дополнительного кортежа в массив
(Range<String.Index>?, Range<String.Index>?).
Затем мне нужно добавить этот кортеж в массив кортежей, которые я декларирует в качестве
var arrayOftuples = [(Range<String.Index>, Range<String.Index>)]()
Я добавляю кортеж к массиву вроде этого
arrayOftuples += [mytuple]
Отмечено, что оператор + = не может быть применен к операндам
[(Range<String.Index>, Range<String.Index>)]
и
[(Range<String.Index>?, Range<String.Index>?)]
Когда я делаю заявление массива с дополнительным
var arrayOftuples = [(Range<String.Index>?, Range<String.Index>?)]()
там больше не жалуется. Но, в конце концов, мне нужно использовать STARTINDEX и ENDINDEX из кортежей из массива, и когда я пытаюсь получить это нравится
let myrange = arrayOftuples.first!.0.startIndex..< arrayOftuples.first!.0.endIndex
у меня жалуются, что значение типа
Range<String.Index>?
нет участника startIndex.
Как я могу понять, если я хочу, чтобы получить STARTINDEX и ENDINDEX из кортежей, мне нужен использовать массив без опций,
var arrayOftuples = [(Range<String.Index>, Range<String.Index>)]()
но потом мне нужно как-то только добавить, что из дополнительных кортежей, которые (nil, nil). При добавлении кортежа как это
arrayOftuples += [mytuple!]
не принимается. Если я использую такое состояние
if mytuple != (nil, nil)
{
arrayOftuples += [mytuple]
}
также не работает. Жаловаться на то, что оператор! = Не может быть применен. Как решить проблему?
Спасибо !!! Оно работает. – VYT