- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如果 Realm 模型中的字段实际上需要 getter 和 setter,我无法在任何地方找到它的明确记录。例如,https://realm.io/docs/java/latest/api/io/realm/RealmObject.html 处的文档说
The only restriction a RealmObject has is that fields are not allowed to be final, transient' or volatile. Any method as well as public fields are allowed. When providing custom constructors, a public constructor with no arguments must be declared and be empty.
Fields annotated with Ignore don't have these restrictions and don't require either a getter or setter.
这似乎暗示它对于非忽略字段的 getter 和 setter 是必需的。然而,https://realm.io/docs/java/latest/#customizing-objects 处的文档说
It is possible to use RealmObjects almost like POJOs. Extending from RealmObject, you can let the fields be public, and use simple assignments instead of setters and getter.
然后显示没有任何 getter 和 setter 的 Realm 模型的代码,而是有我们应该使用的公共(public)字段。真的吗?我以为 Realm 甚至没有在实际字段中存储任何值,所以从中读取和写入可能是个坏主意?我的意思是他们的调试文档 https://realm.io/docs/java/latest/#debugging状态:
Unfortunately these values are wrong because the field values are not used. Realm creates a proxy object behind the scenes and overrides the getters and setters in order to access the persisted data in the Realm
所以有人可以赐教吗?我可以跳过 getter 和 setter 并只使用公共(public)字段吗?是否有任何关于此的详尽文档?
最佳答案
public
字段在大多数情况下都有效,并且从 Realm 2.0.0 开始,它们甚至可以在 RealmObjects 的构造函数中工作(允许“默认值”),并且如果您直接访问该属性,它们也可以工作。
例如,
SomeObject obj = results.get(i);
obj.blah = "Blahblah";
这是可行的,因为托管 RealmObjects 的字段访问由 Realm-Transformer 转换为代理 getter/setter 调用(在本例中,转换为 realmSet$blah
方法)。
从 0.88.0 开始就是这种情况,当时 Realm 开始作为 Gradle 插件提供。
关于android - Realm 模型真的需要 getter 和 setter 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39602525/
因此,我需要获取在为其赋值时调用的 setter 的名称。像这样: var b = {}; var a = { set hey(value) { b[] = value; } } 我希望 se
我是 Android 编程的新手(~ 2 个月)有必要为几十个不同的变量设置 getter 吗? 例如—— //Yes I realise that this isn't 'dozens' publi
import Control.Lens import Control.Lens.TH data Foo = Foo { _bar, _baz :: Int } makeLenses ''
我有点困惑:我可以覆盖 setter/getter 但仍然使用 super setter/getter 吗?如果是 - 怎么办? 用例: class A { void set value(num
我有一个接收消息的应用程序。消息中存在可编辑的字段。当字段更改时,应将其保存到数据库中。不幸的是,setter 仅在 setter 的范围内更改给定字段的值。知道为什么会发生这种情况吗?这是 gett
C# 中有没有一种方法可以让 setter 从“某物”继承,这样每次为特定基类及其继承者调用 setter 时,我都可以运行一些代码? 我想做的是在我的基类上有一个名为 IsValid 的 bool
可能是一个我无法解决的非常简单的问题 - 我从 C# 开始,需要使用 getter/setter 方法向数组添加值,例如: public partial class Form1 : Form {
这两个属性实现有什么区别? public override string A { get { return "s"; } set { } } public override strin
是否可以使用 abc.abstractproperty 创建一个具体的 getter 但将 setter 抽象为每个继承类的不同。我为每个子类处理不同的 val 设置。 例如。 @abstractpr
我在某处看到类似下面的内容,想知道它是什么意思。我知道他们是getter和setter,但是想知道为什么字符串Type是这样定义的。谢谢你帮助我。 public string Type { get;
Public class Example { private int number; public Example(int number){ this.number =
假设我有这样的代码: public response MyMethod(Request req) { String id = req.getFirst().geId(); } 我已经模拟了主对
允许这样做: public int Age { get; set; } 但是应用程序是否为变量创建/分配空间?我经常这样做 private int age = 0; public int Age {
我有一个条件,我构造字符串 (finalValue) 的方式是基于我在输入中获得的非空值的数量。所以我想知道是否可以用一个不同的参数为字符串 (finalValue) 重载 setter 方法并根据我
例如,在这段代码中 var o = { set a(value) {this.b = value}, get a() {return this.b} } 是否有可能获得对 o.a 的 sett
我一直在努力了解 getter 和 setter,但没有深入了解。我读过 JavaScript Getters and Setters和 Defining Getters and Setters只是没
我想在我的类中添加一个 getter 和 setter。然而,setter 应该接收一个 querySelector,但 getter 返回一个新类型 pageSections。 我的问题是 gett
使用有什么好处: private var _someProp:String; public function set someProp(value:String):void { _somePr
当从域类调用它时,我想在我的 setter 中执行一些操作,而不是从 hibernate 中调用它时。此外,我正在使用 session 工厂,因此我无法使用 @PostLoad 来触发标志! 有人对此
人员类别: public class Person { private String firstName; private String lastName; public Pe
我是一名优秀的程序员,十分优秀!