当前位置: 首页 > 面试题库 >

领域中的可选Int

庞乐池
2023-03-14
问题内容

我正在尝试在Realm中使用Optional Int,并且出现了我认为的旧错误。

dynamic var reps: Int? = nil

错误

'Property cannot be marked dynamic because its type cannot be represented in Objective-C'

我正在将Realm 0.96.1与XCode 7.1一起使用

我的境界文档中了解它说,Int不支持作为Optional,但https://twitter.com/realm/status/656621989583548416。那是来自Realm
Twitter的,这就是为什么我感到困惑。被Optional Int支持还是仍然没有?


问题答案:

从Realm文档:

String,,NSDateNSData属性可以使用标准Swift语法声明为可选或非可选。

可选数字类型使用声明RealmOptional

class Person: Object {
    // Optional string property, defaulting to nil
    dynamic var name: String? = nil

    // Optional int property, defaulting to nil
    // RealmOptional properties should always be declared with `let`,
    // as assigning to them directly will not work as desired
    let age = RealmOptional<Int>()
}

let realm = try! Realm()
try! realm.write() {
    var person = realm.create(Person.self, value: ["Jane", 27])
    // Reading from or modifying a `RealmOptional` is done via the `value` property
    person.age.value = 28
}

RealmOptional支持IntFloatDoubleBool,和所有的大小版本IntInt8Int16Int32Int64)。

更新:

Realm
在Tweet中提到的Optional Ints
只是关于一个错误修复html" target="_blank">程序,该错误修复程序用于RealmOptional实现具有大小版本的Optional数值的方式Int

根据
Realm的说法,RealmOptional如果要在Realm对象中具有Optional数字值,则仍然必须使用。您不能像其他可选类型一样简单地使用它。

因此dynamic var reps: Int?将无法正常工作。



 类似资料:
  • 支持按用户所属领域选择相应的轻应用 1.手机版 操作方法:轻应用-添加应用-领域精选-选择领域-选择应用 2.电脑版 操作方法:轻应用-添加应用-领域精选-选择领域-选择应用

  • 3.6 ABP领域层 - 领域事件 在C#中,一个类可以定义其专属的事件并且其它类可以注册该事件并监听,当事件被触发时可以获得事件通知。这对于对于桌面应用程序或独立的Windows Service来说非常有用。但是, 对于Web应用程序来说会有点问题,因为对象是根据请求(request)被创建并且它们的生命周期都很短暂。我们很难注册其它类别的事件。同样地,直接注册其它类别的事件也造成了类之间的耦合

  • 3.4 ABP领域层 - 领域服务 3.4.1 简介 领域服务(或者服务,在DDD模式中)是被用来执行领域操作或者业务规则的。Eric Evans 在他的DDD书中这样说过:一个好的Service应该有以下三个特征: 与领域概念相关的操作不是Entity或Value Object 的一个自然部分; 接口是根据领域模型的其它元素定义的; 操作是无状态的。 领域服务和Application Servi

  • DDD DSL DSL(domain-specific languages)即领域特定语言,唯一能够确定DSL边界的方法是考虑“一门语言的一种特定用法”和“该语言的设计者或使用者的意图。在试图设计一个DSL的时候,发现了一些有意思的简单的示例。 DSL示例 jQuery 最流行的DSL jQuery是一个Internal DSL的典型的例子。它是在一门现成语言内实现针对领域问题的描述。 $('.m

  • 我读了很多关于实体和领域驱动设计的文章,然后是关于贫乏的领域模型和丰富的领域模型的争论。我个人更喜欢一个对象封装它自己的领域知识的方法,但是,由于似乎有一些不同的意见,我有一些问题: 根据系统的类型,主域类可能会变得相当大,即使方法的逻辑在不同的类中。在这里忽略单个责任主体是可以接受的,还是有一种方法可以将一个包含50个字段和50个方法的订单封装到一个不错的结构中,而不会给您留下一个1MB的类,或