Size: a a a

2020 October 03

AA

A A in SwiftBook
Николай Савенков
Наверное то что мне нужно
Сначала попробуй)
источник

НС

Николай Савенков... in SwiftBook
A A
Сначала попробуй)
Я и так понимаю что это сработает ты лучший
источник

AA

A A in SwiftBook
Николай Савенков
Я и так понимаю что это сработает ты лучший
😂спасибо
источник

NF

Nick Fomich in SwiftBook
всем доброго вечера
имеется следующий вопрос для тех, кто работал с реалмом:

1. Есть следующая бд(абстрактно):
Владелец: Object
 Собаки: List<Собака>
 Имя: String
 primaryKey — Имя

Собака: Object
 Кличка: String
 Порода: String
 primaryKey — Кличка

2. Есть метод realm.add, который может обновлять модифицированные проперти или создавать новый объект, если такого нет в наличии.
Он чекает, есть ли разница у нового и существующего объекта с одинаковыми primaryKey.

Если реализовать метод realm.add(Владелец.self, update: .modified), реалм сравнит старых и пришедших владельцев по ключам и обновит проперти, которые изменились.

Вопрос следующий — собаки приходят и уходят, у собак меняется что-то, но если использовать метод выше, то при изменении количества собак или проперти у одной из собак, реалм полностью обновляет List<Собака>, а не конкретный объект внутри.
Кто сталкивался, подскажите, пожалуйста, куда смотреть, чтобы стукаться к конкретной собаке и существующем листе и апдейтить только ее проперти?
источник

NF

Nick Fomich in SwiftBook
понимаю, что можно стучаться руками к каждой собаке, но существует ли реализация в рамках метода add()?
источник

AA

A A in SwiftBook
Nick Fomich
понимаю, что можно стучаться руками к каждой собаке, но существует ли реализация в рамках метода add()?
Метод add это твоя реализация?
источник

NF

Nick Fomich in SwiftBook
A A
Метод add это твоя реализация?
нет, это метод реалма
источник

NF

Nick Fomich in SwiftBook
источник

AA

A A in SwiftBook
Nick Fomich
понимаю, что можно стучаться руками к каждой собаке, но существует ли реализация в рамках метода add()?
Блин я как бы не пытался понять что ты хочешь сделать извини не получается(
источник

NF

Nick Fomich in SwiftBook
A A
Блин я как бы не пытался понять что ты хочешь сделать извини не получается(
ну ты с реалмом сильно близко знаком?
источник

NF

Nick Fomich in SwiftBook
метод add использовал?
источник

AA

A A in SwiftBook
Nick Fomich
метод add использовал?
Да использовал, я могу разобраться щас с твоим вопросом, просто не доконца понимаю цель
источник

NF

Nick Fomich in SwiftBook
структуру бд в примере понял?
есть лист собак
если поменять у собак имя, хотелось бы, чтобы при использовании realm.add(Владелец.self, update: .modified), обновлялись только те собаки, у которых изменилось имя, а не весь лист с собаками
источник

NF

Nick Fomich in SwiftBook
уточню, новый массив владельцев приходит откуда-то извне, пускай с сервака
я прохожусь по каждому владельцу и прогоняю через метод add
источник

NF

Nick Fomich in SwiftBook
если владелец старый, я пойму это по primaryKey (имя владельца)
точнее, реалм это сам поймет
так вот мне надо, чтобы не весь его список собак обновлялся, потому что он может быть длинной в 1,000,000 записей, а конкретные данные по конкретной собаке
источник

NF

Nick Fomich in SwiftBook
реалм же в первом приближении обновляет весь лист
источник

AA

A A in SwiftBook
Nick Fomich
реалм же в первом приближении обновляет весь лист
Подожди
источник

AA

A A in SwiftBook
В рамках своей реализации , ты пишешь свой метод, add, который получает данные с реалм, и тебе придется писать код который будет сравнивать поля, там где изменений в поле, получаешь индекс и заменяешь этот элемент, в любом случае по массиву проходиться придется
источник

NF

Nick Fomich in SwiftBook
естественно, на деле структура куда сложнее и возможно несколько уровней вложенности
поэтому, чтобы не изобретать велосипед, и интересуюсь, вдруг в рамках метода add есть какой-то простой доворот, который позволяет вложенные объекты со своими primary key обновлять по тому же принципу
источник

NF

Nick Fomich in SwiftBook
то есть ты уверен в том, что есть необходимость писать свой метод, верно я тебя понял? уверен значит уверен на 100%
источник