我正在使用Swift通过其init()方法创建一个NSObject,传入字符串和一个Dictionaries数组(Dictionaries代表UIButtons,每个都有一个 Headers ,一个链接,每个潜在按钮的模糊 - 可以从1这些按钮中的-3个) .
在ContentItem()的init()方法中,我试图将Dictionaries创建为此对象的属性 .
它给了我一个错误:“实例成员'下标'不能在类型上使用”(String:String)“:var tempButton = [String:String] []” .
我做了一些研究,听起来它可能与在init()方法中实例化变量有关 - 因为这是在创建对象之前?
它是否正确?有人对此有任何见解吗?有没有办法将这些传递给参数传递给类?我被卡住了 . 谢谢 .
class ContentItem: NSObject {
var title: String
var body: String
var buttonsArray: Array>
init?(title: String, body: String, buttonsArgs: Array>) {
self.title = title
self.body = body
for btn in buttonsArgs {
var tempButton = [String: String][] // placeholder for the button we are creating to attach to buttonsArray[]
for (btnKey, btnValue) in btn { // iterate through each button's Dictionary element that is passed in to init()
print("btnKey: \(btnKey), btnValue: \(btnValue)")
tempButton[btnKey] = btnValue // assembling the parameters of this button
}
self.buttonsArray.append(tempButton) // assigning the buttons to the object
}
super.init()
}
}