dataAdapter = MessagesDataAdapter()
dataAdapter.listType = 1002
我将listType传递给我的类,它是一个整数值,但总是打印1001而不是1002。
我在这里做错了什么?我无法理解
class MessagesDataAdapter: NSObject{
var listType: Int = 1001
override init() {
super.init()
print(listType)
}
}
答案 0 :(得分:1)
您正在listType
的初始值设定项中打印MessagesDataAdapter
,在创建dataAdapter
时会调用该初始值设定项。之后您将值设置为1002.
答案 1 :(得分:0)
原因是您在声明变量时已经分配了值。 以及使用init()的方式,它不会改变变量的值。
我这样做的方法是按如下方式创建:
class MessagesDataAdapter: NSObject{
var listType: Int? // or var listType = 1001
Init(listType: Int) {
listType = listType
Print(listType)
}
}
您可以像这样使用
dataAdapter = MessagesDataAdapter(listType: 1002)