Size: a a a

2021 March 03

C

ChatKeeperBot in SwiftBook
👋 Семен Зорин, рады приветствовать тебя в «SwiftBook»

В этой группе мы обсуждаем Xcode, Swift. А также другие инструменты для разработчиков.😉

Пожалуйста ознакомьтесь с правилами группы
источник

AM

Aralbek Muhammed in SwiftBook
🕷Ⲥⲡⲩⲇυ ⲙⲩⲏ🕷
подскажите пожалуйста хоткей чтобы сложить блоки кода
типо ctrl + i ?)
источник

Ã

Ãľďįąř in SwiftBook
Aralbek Muhammed
типо ctrl + i ?)
+
источник

РС

Руслан Садыков... in SwiftBook
Всем привет. Я добавляю кнопке в ячейке функцию удаления из массива элемента по индексу этой ячейки, затем делаю reloadData таблицы. Так как я удалил из массива, который является данными для таблицы, происходит переопределение всех ячеек заного. Если нажимать эту кнопку удаления слишком быстро, то таблица в какой-то момент не успеет перезагрузится и по нужному индексу не будет элемента в массива и происходит краш. Можно ли как-то блокировать нажатие на кнопку пока таблица не перезагрузилась?
источник

РС

Руслан Садыков... in SwiftBook
источник

РС

Руслан Садыков... in SwiftBook
источник

S

Slava in SwiftBook
По возможности, вообще бы не дергать reloadData при удалении лишь одной ячейки, т.к тяжелая операция
источник

РС

Руслан Садыков... in SwiftBook
Slava
По возможности, вообще бы не дергать reloadData при удалении лишь одной ячейки, т.к тяжелая операция
А чем лучше?
источник

DK

Denis Kim in SwiftBook
Руслан Садыков
Всем привет. Я добавляю кнопке в ячейке функцию удаления из массива элемента по индексу этой ячейки, затем делаю reloadData таблицы. Так как я удалил из массива, который является данными для таблицы, происходит переопределение всех ячеек заного. Если нажимать эту кнопку удаления слишком быстро, то таблица в какой-то момент не успеет перезагрузится и по нужному индексу не будет элемента в массива и происходит краш. Можно ли как-то блокировать нажатие на кнопку пока таблица не перезагрузилась?
первый скриншот показывает не ту функцию, которая вызывается во втором скриншоте. В целом, такой проблемы быть не должно, потому что релоад происходит синхронно. Предположу, что у тебя где-то не меняется колбек, который назначается ячейке (и в котором собственно хранится индекс этой ячейки, который после релоада уже изменится). Чтобы этого избежать, я бы не хранил в ячейке ее индекс и не выполнял блоков. это просто вьюха, пусть контроллер смотрит что это за ячейка и меняет массив данных
источник

РС

Руслан Садыков... in SwiftBook
Вот правильные скрины
источник

РС

Руслан Садыков... in SwiftBook
источник

РС

Руслан Садыков... in SwiftBook
Denis Kim
первый скриншот показывает не ту функцию, которая вызывается во втором скриншоте. В целом, такой проблемы быть не должно, потому что релоад происходит синхронно. Предположу, что у тебя где-то не меняется колбек, который назначается ячейке (и в котором собственно хранится индекс этой ячейки, который после релоада уже изменится). Чтобы этого избежать, я бы не хранил в ячейке ее индекс и не выполнял блоков. это просто вьюха, пусть контроллер смотрит что это за ячейка и меняет массив данных
А как я из контроллера узнаю индекс этой ячейки?
источник

DK

Denis Kim in SwiftBook
что делает функция addTap у heartImageView?
источник

DK

Denis Kim in SwiftBook
на самом деле тут так написано, что лучше переписать, чем разбираться. очень плохо структурировано
источник

РС

Руслан Садыков... in SwiftBook
Denis Kim
что делает функция addTap у heartImageView?
Удаляет объект из массива избранных и обновляет таблицу, чтобы теперь без этой ячейки отобразилось
источник

DK

Denis Kim in SwiftBook
нет, наверняка она делает другое. покажи код
источник

DK

Denis Kim in SwiftBook
и еще код ячейки тоже нужен
источник

РС

Руслан Садыков... in SwiftBook
Denis Kim
и еще код ячейки тоже нужен
Первый скрин это код ячейки и в ней функция addTap. addTap дает нажатие на вьюху
источник

DK

Denis Kim in SwiftBook
кому дает? я спросил что делает функция, можешь скриншот этой функции сделать?
источник

DK

Denis Kim in SwiftBook
Руслан Садыков
Первый скрин это код ячейки и в ней функция addTap. addTap дает нажатие на вьюху
первый скрин это код контроллера. или я слепой, меня интересуют свойства ячейки и ее функция prepareForReuse
источник