我是swift / Xcode的新手。我被卡住了,我创建了一个带有sectionName,Sectionobject和section image的结构体。我相信我的代码是正确的,但是当我运行模拟器时,它不会使用我创建的单元格填充tableview。单元格类型为Basic,标识符为cell。
除了黄色三角形之外没有任何错误说“从不使用初始化不可变值'对象阵列';考虑在对象数组变量周围用赋值替换为'_'或删除它
当我运行此代码时,它不会调用任何tableview函数。
我删除了ObjectArray中的大部分内容,并将其替换为“Xxxxx”以使其更容易。
我必须遗漏一些东西,这是代码:
class "classname" : UIViewController, UITableViewDelegate, UITableViewDataSource {
struct Objects {
var sectionName : String!
var sectionObjects : [String]!
var sectionImage : [UIImage]!
}
var objectArray = [Objects]()
@IBOutlet weak var "myname"TableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
let objectarray = [Objects(sectionName: "Drinks", sectionObjects: ["xxxxxx"], sectionImage: [UIImage(named: "coollime.jpg")!,
]),
Objects(sectionName: "Fresh Brewed Coffee Drinks", sectionObjects: ["Blonde Roast",
"Caffè Misto",
"xxxxx"], sectionImage: [UIImage(named: "br.jpg")!,
UIImage(named: "cf.jpg")!,
UIImage(named: "scbcm.jpg")!]),
Objects(sectionName: "Espresso Beverages", sectionObjects: ["Caffè Americano",
"Caffè Latte",
"xxxxxxx", sectionImage: [UIImage(named: "ca1.jpg")!,
"xxxxxxx"
]
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = self.objectArray[indexPath.section].sectionObjects[indexPath.row]
let imageName = objectArray[indexPath.section].sectionImage[indexPath.row]
cell.imageView!.image = imageName
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return objectArray[section].sectionObjects.count
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return objectArray.count
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return objectArray[section].sectionName
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning() }
}