Size: a a a

2021 June 01

S

Sasha_A in SwiftBook
если нажать на jump to definition на CGFloat, там первой строчкой будет ответ на твой вопрос
источник

E

Ehotuna in SwiftBook
Переслано от Ehotuna
Друзья, помогите, пожалуйста 🙂
Хочу обратиться к ячейке:
let indexPath = IndexPath.init(row: 0, section: 0)
let cell = tableView.cellForRow(at: indexPath)
as! NameCell
При обращении получаю:
Unexpectedly found nil while unwrapping an Optional value
Насколько я понял cellForRow позволяет обратиться к видимой ячейке. Когда я нажимаю на кнопку, у меня ячейка по этом индексу перестает быть видимой, и я получаю nil. Какой метод мне надо использовать?
источник

ДЛ

Дмитрий Липунцов... in SwiftBook
как вариант записывай индекс, и когда в методе cellForRowAt  попадется твой индекс делай что нужно.
источник

C

ChatKeeperBot in SwiftBook
👋 Юля Морозова, рады приветствовать тебя в «SwiftBook»

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

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

E

Ehotuna in SwiftBook
В самой первой ячейке у меня находится textField. Я хочу взять текст из него. Пока догуглился, что все введенные данные хранятся в dataSourse. Соответственно, их можно получить из него )
источник

ДЛ

Дмитрий Липунцов... in SwiftBook
т.е. тебе в контроллере нужны данные из текстфилда введенные в ячейке?
источник

E

Ehotuna in SwiftBook
Да
источник

ДЛ

Дмитрий Липунцов... in SwiftBook
так по завершению  ввода прокинь данные куда тебе нужно и все
источник

E

Ehotuna in SwiftBook
Уже думал об этом, наверное, так и сделаю. Хотел уточнить момент, как можно обратиться к ячейке за пределами cellForRow
источник

G

Give Five Give Seven in SwiftBook
Тут либо создавать кастомную UITableCellView, в которую передавать объект данных, либо в cellRowAt - для UITextField указывать target и action, присвоить  tag. Ну еще новомодный метод - использование Combine в UITableCellView.
источник

E

Ehotuna in SwiftBook
Спасибо
источник

ДЛ

Дмитрий Липунцов... in SwiftBook
тут смысл в том что dataSource это когда вводишь данные в данном случае в ячейку, а тебе нужно из ячейки получать данные
источник

E

Ehotuna in SwiftBook
Спасибо 🙂 Тогда сделаю запись в переменную при изменении текста и из нее уже буду брать данные
источник

G

Give Five Give Seven in SwiftBook
Данные все равно придеться хранить в своих структурах, так как UITableView этим не занимается.
источник

ДЛ

Дмитрий Липунцов... in SwiftBook
тут тебе делегаты текстфилда в помощь
источник

E

Ehotuna in SwiftBook
Но когда я ввожу даные в textField, например в ячейке [0,0], потом опускаю ячейку за пределы экрана и возвращаю обратно, текст в textField не сбрасывается, значит он где-то храниться?
источник

E

Ehotuna in SwiftBook
Ну это знаю как сделать 🙂
источник

G

Give Five Give Seven in SwiftBook
Ячейки переиспользуются (при скролле вызывается метод cellRowAt), скорее всего есть какой-то pre - fetch оффсет, что при быстром скролле ячейка успела подгрузить данные, поэтому она заранее конфигурируется. Добавь много данных и попробуй прокрутить таблицу.
источник

ДЛ

Дмитрий Липунцов... in SwiftBook
быстрее думаю будет просто закрасить бэкграунд первой ячейки например и прокрутить.
источник

DK

Denis Kim in SwiftBook
никакой. не нужно обращаться к ячейкам, когда они невидимы. они в этот момент находятся в очереди и не должны использоваться
источник