ios - swift新手请教,我在swift中调用self.init,报错了,怎么回事?
本文介绍了ios - swift新手请教,我在swift中调用self.init,报错了,怎么回事?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在方法中药调用 self = self.init,报错信息是:Cannot assign to value:'self'is immutable
代码如下:
class Node:NSObject{
var parentID:Int?//父节点的id,如果为-1表示该节点为根节点
var nodeID:Int?//本节点的id
var name:NSString?//本节点的名称
var depth:Int?//本节点的深度
var expand:Bool?//该节点是否处于展开状态
//快速实例化该对象模型
func initWithParentID(parentID:Int,nodeID:Int,name:NSString,depth:Int,expand:Bool) -> Self{
self = self.init
return self
}
}
解决方案
报错不是说的挺明白的吗?Self是不可修改的 - -
先调用父类的初始化函数
init(parentID: Int, nodeID: Int, name: NSString, depth: Int, expand:Bool) {
super.init()
self.parentID = parentID
self.nodeID = nodeID
self.name = name
self.depth = depth
self.expand = expand
}
这篇关于ios - swift新手请教,我在swift中调用self.init,报错了,怎么回事?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文