我正在编写一个简单的函数,旨在将某些文本框的内容写入类实例中的变量中。
当我尝试打印文本框的内容时,它可以工作。内容在那里。
我尝试将文本框连接到运行该功能的按钮。
以下是一些父类和子类:
cleanSource
功能如下:
...
WHERE Group IN ('01', '02')
AND ImgLink <> ''
AND Qty > 0
AND NOT (Description = 'cat') OR QtyPO > 0
...
目标是显示具有随机样式的说唱名称,其中包含文本框的内容。
但是,仅返回随机说唱名称样式中的原始初始化变量。
因此,例如,如果形容词的文本框包含“小”,而名称正确的文本框包含“ wiggles”,并且选择了随机样式littlerichardstyle,则标签应显示“ little wiggles”,而仅显示“形容词” “名称正确”(来自初始化程序)。
非常感谢
答案 0 :(得分:0)
您应该使RapNameStyle中的所有var成为计算属性:
class RapNameStyle: RapName {
var twoChainzStyle: (String, String, String)? {
return (numberProper, " ", noun)
}
var tinyTimTheRapperStyle: (String, String, String, String, String)? {
return (adjective, " ", nameProper, " the ", noun)
}
// Same for others
var allStyles: [Any]? {
return [twoChainzStyle!, bigSnitchStyle!, crunchyBlackStyle!, tinyTimTheRapperStyle! as Any, zaeTheBlacksmithStyle!,
littleRichardStyle!,drDreStyle!, poetPeteStyle!, notoriousBIGStyle!, flavaFlavStyle!, mrHappyStyle!, captainPotatoStyle!, stevensShakinStyle!]
}
}
然后init()就是super.init()
考虑以下非常简单的示例:
class ASuper {
var top: Int
init() {
top = 1
}
}
class BSub: ASuper {
var under: Int?
var all: [Any]?
override init() {
super.init()
self.under = 10
self.all = [under!]
}
}
let b = BSub()
b.under = 200
print(b.all!)
您得到[10],而不是[200] 当将b.under的值更改为200时,所有值均未重新评估,仍然为[10]。它将带有一个计算得出的变量。