Мне нужно обновить значения в ссылочном классе до моей пользовательской ячейки.
Я хочу в архив:
- Получить данные из API // Завершено
- создание пользовательского объекта (модели) из API // Завершено
- Отправить ссылку на объект в пользовательскую ячейку из массива
- изменить значение в пользовательской ячейке
- Обновить значение в массиве контроллера вида
Я прочитал эту ссылку, но не могу обновить значения
https://medium.com/@abhimuralidharan/difference-between-value-type-and-a-reference-type-in-ios-swift-18cb5145ad7a
https://developer.apple.com/swift/blog/?id=10
Ниже мой класс
class Post {
// https://www.raywenderlich.com/9481-reference-vs-value-types-in-swift
var objPost:ObjPost
init(_ objPost:ObjPost) {
self.objPost = objPost
}
}
struct ObjPost:Codable {
var id:Int
var contentAvailable : Bool
var userId : Int
var userName : String
var userProfileImage: String
var subTitle : String
var postedSince : String
var isPin : Bool
var location : String
var lat : String
var long: String
var isLiked: Bool
var isDisliked : Bool
var likes : Int
var dislikes: Int
var shares: Int
var comments:Int
var description: String
var albumId: Int
var privacy: Int
var isEditable: Bool
var media:[ObjMedia]
}
struct ObjMedia:Codable {
var id: Int
var type: Int // 1 = Image, 2=Video
var url: String
var description: String?
var thumb: String
var isLiked: Bool
var isDisliked:Bool
var likes:Int
var dislikes: Int
var shares: Int
var comments: Int
var isEditable:Bool
var isPin: Bool
var isCoverMedia: Bool
}
Передать ссылку объекта ObjPost tableView: UITableView, cellForRowAt indexPath: IndexPath
В приведенном ниже коде получить ссылочный объект из массива с -1 значением indexPath.row-1 , поскольку 1-я строка является фиксированным пользовательским интерфейсом в моем проекте.
cell.objPostDetails = Post(arrPosts[indexPath.row-1].objPost)
Пользовательский код ячейки и
var objPostDetails:Post! // Create object variable.
Обновить код значений в пользовательской ячейке
self.objPostDetails.objPost.isLiked = !self.actionSelected // Here is action selected is bool variable
self.objPostDetails.objPost.isDisliked = self.actionSelected // Here is action selected is bool variable
Моя проблема - обновить значение в ячейке, но не обновить значения в массиве
Когда я прокручиваю вверх и вниз, тогда видны старые значения.