我可能错过了一些非常明显的东西。由于某种原因,我的新UITableViewController没有填充。
我介入了它," viewDidAppear"当我通过模拟器访问我的新UITableViewController时激活。 " IF"触发器为true并且courseToWatch被分配。代码然后执行self.tableView.reloadData()但没有任何反应。表视图保持空白,没有错误或异常。
我已将rowIdentifier更改为" Cell"在新的UITableViewController中。我还缺少什么?
class WatchListViewController: UITableViewController {
var coursesToWatch = [ReportingFacility]()
override func viewDidAppear(animated: Bool) {
var dataFile:NSURL = FileSystemHelper.pathForDocumentsFile("watchlist.data")
if let possibleCourses = NSKeyedUnarchiver.unarchiveObjectWithFile(dataFile.path) as? [ReportingFacility]{
if(possibleCourses.count != 0) {
coursesToWatch = possibleCourses
}
}
self.tableView.reloadData()
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
if(coursesToWatch.count != 0) {
var currentCourse = coursesToWatch[indexPath.row]
cell.textLabel.text = currentCourse.name
}
return cell
}
}
答案 0 :(得分:-1)
可能对我很有帮助。这对我有用。
func tableView(tableView:UITableView!,cellForRowAtIndexPath indexPath:NSIndexPath!) - > UITableViewCell的! { //让cell = tableView.dequeueReusableCellWithIdentifier(" Datacell")作为UITableViewCell // tableCell = UITableViewCell(style:UITableViewCellStyle.Value1,reuseIdentifier:nil)
let CellIdentifier : NSString! = "Cell"
tableCell = tableView.dequeueReusableCellWithIdentifier(CellIdentifier) as UITableViewCell!
if(tableCell == nil){
tableCell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: CellIdentifier)
}
if(dataIsEmpty == true){
tableCell.textLabel.text = "No Information Found !!!"
}else{
// var aryDataStr : NSString! = dataAry[indexPath.row].valueForKey("name") as NSString!
// println("aryDataStr : \(aryDataStr)")
if(selectedString == dataAry[indexPath.row].valueForKey("name") as NSString!){
tableCell.accessoryType = UITableViewCellAccessoryType.Checkmark
}else{
tableCell.accessoryType = UITableViewCellAccessoryType.None
}
tableCell.textLabel.text = dataAry[indexPath.row].valueForKey("name") as NSString!
}
}