У меня следующий процесс. Каждая ячейка табличного представления имеет идентификатор объекта, на который ссылается метка. Когда пользователь нажимает кнопку «нравится» или «не нравится» в этой ячейке, objectId в этой ячейке сохраняется в currentUserObjectIdsTouched («массив») PFUser. Когда конкретному пользователю уже понравилась или не понравилась ячейка на основе его currentUserObjectIdsTouched, я хочу отключить функции «нравится» и «не нравится» для этой конкретной ячейки. У меня все встало до отключения. Как отключить обе кнопки.
Синтаксис моей кнопки в cellForRow: cell.likesButton()
cellForRow:
if currentUserObjectIdsTouched.contains(cell.objectId.text!) {
print("should invalidate buttons for cell with objectId \(cell.objectId.text!)")
}
1 ответ
Вам нужно сделать это внутри cellForRowAt
cell.likesButton.isEnabled = !(currentUserObjectIdsTouched.contains(cell.objectId.text!))
Хорошей практикой является сравнение с моделью напрямую, например
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomCell
let item = arr[indexPath.row]
cell.likesButton.isEnabled = !(currentUserObjectIdsTouched.contains(item.objectId))
Похожие вопросы
Новые вопросы
swift
Swift — это язык программирования общего назначения, разработанный Apple Inc., впервые выпущенный в 2014 году для своих платформ и Linux. Swift имеет открытый исходный код. Используйте тег только для вопросов о языковых функциях или необходимости кода в Swift. Используйте теги [ios], [ipados], [macos], [watch-os], [tvos], [swiftui], [cocoa-touch] и [cocoa] для (не зависящих от языка) вопросов о платформах или рамки.