class Book: Codable { let name: String var author: Author? init(name: String) { self.name = name } deinit { debugPrint(Deinitialized Book) } } class Author: Codable { let name: String let age: Int weak var book: Book? init(name: String, age: Int) { self.name = name self.age = age } deinit { debugPrint(Deinitialized Author) } } let author = Author(name: Ronit, age: 1) let book = Book(name: Ronit Book) book.author = author author.book = book let encode = try? encoder.encode(author) (Why does this line give EXC_BAD_ACCESS error even though by adding weak we have removed any strong references between objects)
0
0
303