Vadim
потому что не мутабельно
Dry
это я понял. а почему?
Ilkhom
Vadim
тут где то было про различия структуры и класса
Dry
выше цикла for я спокойно меняю его напрямую
Dry
почему в цикле вдруг немутабельно?
Anonymous
потому что struct и array в свифт это value type
Vadim
https://medium.com/@irinaernst/swift-struct-vs-class-a19f5413a496
Dry
все равнон не понятно. я в функции ничего не передаю. меняю напрямую
Деда
Ты меняешь в цикле
Деда
если так хочется запоминай индекс и меняй вне цикла
Dry
да не, я просто для себя пытаюсь понять этот момент. тут практической нет стороны
Деда
видимо struct для другого
Anonymous
та штука которая у тебя в цикле это не ссылка на объект
Anonymous
считай что ты в цикле работаешь не с просто eachUser
Anonymous
а вот так
let eachUser = users[someIndex]
Anonymous
ты можешь вытащить данные, что то внутри вызвать, но изменять не можешь
Dry
вооот. примерно это я и хотел понять. что там под капотом
Dry
отлично. спасибо!
Anonymous
Воще есть крутая книга, где все эти кишки расписываются Advanced Swift называется
Dry
спасибо еще раз
Dry
а, знаю этого автора. крутой
Dry
Ole Begemann один из
Dry
Dry
да
Dry
чатики наше все
Dry
да кто в рф их покупает
Pavel
но только это не меняет обьекты в массиве, а делает мутабельную копию для цикла
Dry
Dry
ни в коем случае
Деда
Dry
чем?
Деда
раскладывает дерево массива
Dry
да он и в коде так же
Anonymous
lldb это, не?
Деда
Не знал
Dry
копошимся тут в грязи
Dry
ага, я понял. мне теперь придется переосмыслить свой взгляд на это
Dry
потому как она копируется при изменении?
Pavel
я не буду тебе отвечать, ты меня раздражаешь
Dry
) вот и поговорили
Dry
Виталий, ваш вариант?
Vadim
через енумерейтед же
Dry
нифига
Dry
тот же результат
Vadim
ты код покажи
Dry
Vadim
понятно
Vadim
users[index].username = "Marry"
Dry
о, а вот так да
Dry
хм
Anonymous
Vadim
ты можешь фором
Vadim
разрешаю
Anonymous
А это не for был?
Vadim
это был сахар
Anonymous
О чем ты вообще?
Anonymous
Какой сахар?
Anonymous
for in единственный возможный for в свифте
Деда
Anonymous
Если бы user у тебя не структура, а класс был - то можно было изменить значение в таком цикле. В свифте экземпляры класса как указатель передаются
Ольга
Anonymous
forEach есть
Ольга
да, ближе к for
Dmitriy
Map это не совсем цикл.
Anonymous
Можно было так написать. users.enumerated().forEach {index, user in .... }
Dmitriy
Точнее совсем не цикл
Vadim
вопрос был вообще не про циклы
Anonymous
Я начал с того, что нахрена пробегаться по масиву и брать элемент если нужен только индекс
Anonymous
А вы продолжаете с аналогичными вариантами
Vadim
это детали реализации которые не были нужны для решения вопроса
Dry
Решить то ничего не надо было. Я хотел понять, почему класс можно так, а структуру нет
Anonymous
Ну у него проблема была что данные в массиве не изменяются, так как это структуры. Ты написал решерие users[index].username = “””
Anonymous
Я просто объяснил почему не работает его вариант
Anonymous
Был бы user - класс то работало
Anonymous