我正在尝试构建一个需要我安装Couchbase-lite pod的应用程序。当我尝试初始化一个类时,它说它是NS_UNAVAILABLE,它告诉我使用工厂类方法。如何以一般方式使用'工厂类方法'?
比如说我这样做了:
class Polyline: CBLModel {
init() { // the error starts here that says init is unavailable
/* code here */
}
答案 0 :(得分:0)
Factory方法是一个类函数,用于创建类的实例。
Couchbase documentation says您应该遵循完全绕过init
的模式:
请记住,每个模型都与数据库中的文档具有一对一的关联。
CBLModel
没有公共初始化方法,你不应该在子类中实现任何方法。
创建新的折线应按如下方式进行:
let poly = Polyline(forNewDocumentInDatabase: database)
如果您需要自定义初始化,还需要进入工厂方法:
class Polyline : CBLModel {
@NSManaged var x : Int
@NSManaged var y : Int
class func newPolylineInDatabase(database: CBLDatabase, withX x: Int andY y:Int)
-> Polyline {
let res = Polyline(forNewDocumentInDatabase: database)
res.x = x
res.y = y
return res
}
}