2016-12-28 65 views
0

与Realm中的以下Swift 3.0对象相当的是什么?Swift 3.0.2中的一对多对象Realm中的对象

定期斯威夫特

商店类别:

import Foundation 
class Store{ 
    var storeName = "" 
    var itemList = [Item]() 
} 

项目类:

import Foundation 
class Item{ 
    var itemName: String = "" 
    var price: Double = 0 
} 

境界

我试过,但我得到一个错误:

import Foundation 
import RealmSwift 

class Store:Object{ 
    dynamic var storeName = "" 
    dynamic var itemList = List<Item>() // here I get the error 
} 

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

项目类:没有错误

import Foundation 
import RealmSwift 

class Item : Object{ 

    dynamic var itemName: String = "" 
    dynamic var price: Double = 0 
} 
+1

你不需要声明itemList为动态proprtty – Coyote

回答

1

继境界斯威夫特文档的To-Many Relationships节的例子,你的类应该声明为:

class Store: Object { 
    dynamic var storeName = "" 
    let itemList = List<Item>() 
} 

dynamic修饰符不能用于List<T>属性,因为它要求ty该属性的pe可以在Objective-C中表示,而Swift的泛型则不是。

+0

就是这样,非常感谢! –