私はできる限りこのことをやってみましたが、私は本当にここにこだわっています。CouchbaseLite逆の関係は動作しません
を利用しようとしている基本的に私のスキームは以下のようになります後、私はalbums
bgdb.modelFactory?.registerClass("Album", forDocumentType: "Album")
bgdb.modelFactory?.registerClass("Artist", forDocumentType: "Artist")
if let artistID = artist?.document?.documentID, let fetchedArtist = try! Artist.fetchOne(field: "_id", operand: .Matches, value: artistID as AnyObject, database: bgdb) {
print(fetchedArtist.albums as! [Album])
}
しかしfetchedArtist.albums
戻り、計算されたプロパティにアクセスしようと次に
class Album
var artist: artist?
class Artist
@NSManaged var albums:NSArray?
class func albumsInverseRelation() -> String { return "artist" }
class func albumsItemClass() -> AnyClass { return Album.self }
空の配列!
私はデバッグから、混乱している理由です:
(lldb) po album?.artist?.document?.documentID
▿ Optional<String>
- some : "-obO5dJTBF-xu4lzbWTM9yU"
(lldb) po fetchedArtist.document?.documentID
▿ Optional<String>
- some : "-obO5dJTBF-xu4lzbWTM9yU"
それが表示されます、そこにアルバムアーティストID を有することであると私はまた、既存のアーティスト
とそのアーティストのIDを一致させることができますそれはalbums
をだために、私は
artist
インスタンスを頼むとき
はまだ、それが
が、私はここで何かが欠けアム同じartist
IDを持っているアルバムを返すことに失敗しましたか?