Согласно документам , отношение «многие к одному» выполняется следующим образом:
Предполагается, что A удерживает многие из B, а B имеет одно отношение к A
* 1006.*
У этого набора b.a
и a.bs
теперь есть один предмет.Это работает хорошо, но я не могу добавить к свойству bs
.По сути, я хочу, чтобы связанный объект был таким, каким он является сейчас, но я также хочу иметь возможность создавать отношения наоборот:
let a = A()
let b = B()
a.bs.append(b)
По существу, добавление a.bs установит ba в этот aчто мы меняемся.Можно ли как-нибудь связать такие свойства?
Пример
Предположим, у нас есть альбом, а в альбоме есть песни.В одном альбоме много песен, но у одной песни только один альбом.
class Album : Object {
let songs = LinkingObjects(fromType: Song.self, property: "album")
}
class Song : Object {
@objc dynamic var album: Album?
}
Настройка song.album = album
работает хорошо, и песни добавляются в album.songs, однако добавление album.songs.append(song)
не работает.
Есть идеи, как мне это решить?Потому что в следующем сценарии:
class Album : Object {
let songs = List<Song>()
}
class Song : Object {
@objc dynamic var album: Album?
}
Установка song.album = album
не добавит песню в список песен.Однако в этом случае я могу добавить album.songs
, но это также не установит отношения song.album
Любая помощь приветствуется