Ios 返回对象域不可访问
我遇到了一个在领域中返回我的对象的问题,奇怪的是,如果我打印到控制台对象,如果我启动的很好,但是如果我尝试访问它的值,它会告诉我它是空的 对象的结构如下所示:Ios 返回对象域不可访问,ios,swift,realm,Ios,Swift,Realm,我遇到了一个在领域中返回我的对象的问题,奇怪的是,如果我打印到控制台对象,如果我启动的很好,但是如果我尝试访问它的值,它会告诉我它是空的 对象的结构如下所示: class Favourite : Object { var character : Character! } 我创建了一个对象并将其添加到数据库中 let fav = Favourite() fav.character = character FavouriteDao.sharedInstance.addFavourite(c
class Favourite : Object {
var character : Character!
}
let fav = Favourite()
fav.character = character
FavouriteDao.sharedInstance.addFavourite(characterFavourite: fav)
Favourite {
character = Character {
name = Spider-Man;
descriptionC = Bitten by a radioactive spider, high school student Peter Parker gained the speed, strength and powers of a spider. Adopting the name Spider-Man, Peter hoped to start a career using his new abilities. Taught that with great power comes great responsibility, Spidey has vowed to use his powers to help people.;
thumbnail = Thumbnail {
id = 815D93D0-C116-4267-978C-9E47C0074D0D;
path = http://i.annihil.us/u/prod/marvel/i/mg/3/50/526548a343e4b;
extensionImage = jpg;
};
};
有人设法理解,因为如果我打印出最喜欢的对象,它会告诉我角色对象内部有,但如果我尝试接受它,它会说它不存在?你从一开始就完全错了。您应该先阅读领域文档 比如说
class Favourite : Object {
var character : Character!
}
这不是你应该做的事
假设您的
字符
定义良好,代码应该是动态变量字符:字符?=至少为零。是的,问题是动态的,我想如果属性为object,则不需要动态,好的,谢谢。dynamic
表示变量以Objective-C
动态方式工作。使用dynamic
,getter和setter被数据库提供者注入,做额外的事情,这里是Realm。所以,您想要在领域中使用的所有属性都应该以动态
开头,除非领域明确不这样做,比如列表
。如果不使用dynamic
,var字符
只是一个非领域属性,根本不会保存到领域。