单元格不会显示在我的tableview中

时间:2016-04-19 18:09:23

标签: ios arrays uitableview sorting swift2

我是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() }
}

0 个答案:

没有答案