我正在使用xcode 7測試版,但我發現此代碼已關閉,但我使用UIViewController
而不是UITableViewController
,原因很多。 (我不知道這是否導致了這個具體問題)。我已經得到了UIViewController
設置就像一個典型的UITableViewController
但我遇到了錯誤獲取錯誤模糊使用tableView(_:numberOfRowsInSection :)
曖昧使用
'tableView(_:numberOfRowsInSection:)
這裏是我的代碼
class ShoppingViewController: UIViewController {
var toDoItems:NSMutableArray = NSMutableArray()
override func viewDidAppear(animated: Bool) {
var userDefaults:NSUserDefaults = NSUserDefaults.standardUserDefaults()
var itemListFromUserDefaults:NSMutableArray? = userDefaults.objectForKey("itemList") as? NSMutableArray
if ((itemListFromUserDefaults) != nil){
toDoItems = itemListFromUserDefaults!
}
**self**.tableView.reloadData()
}
以及
if (segue != nil && segue!.identifier == "showDetail") {
var selectedIndexPath:NSIndexPath = **self**.tableView.indexPathForSelectedRow()
var detailViewController:DetailsViewController = segue!.destinationViewController as! DetailsViewController
detailViewController.toDoData = toDoItems.objectAtIndex(selectedIndexPath.row) as! NSDictionary
}
候選人(根據XCode):
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return toDoItems.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
let toDoItem:NSDictionary = toDoItems.objectAtIndex(indexPath.row) as! NSDictionary
cell.textLabel!.text = toDoItem.objectForKey("itemTitel") as? String
return cell
}
你設置'delegate'和'dataSource'到'tableView'?看起來你不符合'UITableViewDelegate'和'UITableViewDataSource'協議? – Bannings
@Bannings我如何使它符合? – NewBeginnings
試試這個:'class ShoppingViewController:UIViewController,UITableViewDataSource,UITableViewDelegate' – Bannings