Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 2.0中的动态可选属性_Ios_Swift2_Realm_Optional - Fatal编程技术网

Ios Swift 2.0中的动态可选属性

Ios Swift 2.0中的动态可选属性,ios,swift2,realm,optional,Ios,Swift2,Realm,Optional,我看过这篇文章,但我不想用NSObject来包装这个类。这只是关于领域数据库,我不必拥有nil属性,但我认为这是一种很好的方法来建模我的数据库。在这里可以找到的领域文档中,它表示支持optionals。这是我的 代码 dynamic var complete: Bool? = nil 这是我的 错误 Property cannot be marked dynamic because its type cannot be represented in Objective-C 我知道这与上面的文

我看过这篇文章,但我不想用
NSObject
来包装这个类。这只是关于领域数据库,我不必拥有
nil
属性,但我认为这是一种很好的方法来建模我的数据库。在这里可以找到的领域文档中,它表示支持optionals。这是我的

代码

dynamic var complete: Bool? = nil
这是我的

错误

Property cannot be marked dynamic because its type cannot be represented in Objective-C
我知道这与上面的文章是相同的代码和错误,但我只是好奇,如果领域文档说它支持它,他们还有其他的解决方法吗?

来自于和上的文档

String
NSDate
NSData
和对象属性可以是可选的。存储可选数字是使用

RealmOptional
支持
Int
Float
Double
Bool
,以及
Int
的所有大小版本(
Int8
Int16
Int32
Int64

因此,
String
NSDate
NSData
Object
类型都支持选项,这些选项与标准的swift语法很好地结合在一起

对于其他数字类型(如
Bool
),使用
RealmOptional
完成。然后,要使用此
RealmOptional
类型的变量,可以访问其
属性,该属性是表示基础值的可选属性

// definition (defined with let)
let complete = RealmOptional<Bool>()  // defaults to nil
// usage
complete.value = false  // set non-nil value
...
complete.value = nil    // set to nil again
//定义(用let定义)
let complete=RealmOptional()//默认为零
//用法
complete.value=false//设置非零值
...
complete.value=nil//再次设置为nil

您需要将
let complete:RealmOptional()
更改为
let complete=RealmOptional()