Ios 获取使用tableView时出现的错误(\uU:numberOfRowsInSection:)
我使用的是xcode 7 beta,我在教程中找到了这段代码,但是出于许多原因,我使用的是Ios 获取使用tableView时出现的错误(\uU:numberOfRowsInSection:),ios,swift,uitableview,Ios,Swift,Uitableview,我使用的是xcode 7 beta,我在教程中找到了这段代码,但是出于许多原因,我使用的是UIViewController而不是UITableViewController。(我不知道这是否导致了这个具体问题)。我得到了UIViewController设置,就像典型的UITableViewController一样,但是我遇到了错误 ”表视图(uuxNumberOfRowsInSection:)使用不明确 这是我的密码 class ShoppingViewController: UIViewCont
UIViewController
而不是UITableViewController
。(我不知道这是否导致了这个具体问题)。我得到了UIViewController
设置,就像典型的UITableViewController
一样,但是我遇到了错误
”表视图(uuxNumberOfRowsInSection:)使用不明确
这是我的密码
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):
升级到Xcode 7.1 beta版后,我也遇到了类似的问题。我想知道这是否是测试版中的一个bug?有人找到解决办法了吗 更新- 所以我在我的项目中解决了这个问题。我必须为我的tableView设置IBOutlet,然后在该对象上重新加载数据。e、 g.将IBOutlet设置为myItemsTableView,然后调用self.myItemsTableView.reloadData(),这样就可以了。在这个项目上,它需要myItemsTableView并重新加载,而不是通用命令tableView.reloadData()
希望对您有所帮助。请确保已正确初始化tableView。这解决了我同样的问题。我有一个类似的问题,我通过将视图控制器命名为其他名称来解决
SDK中必须有一个名为DetailsViewController或DetailViewController的视图控制器是否将
委托
和数据源
设置为表视图
?您似乎不符合UITableViewDelegate
和UITableViewDataSource
协议?@Bannings如何使其符合要求?请尝试以下操作:class ShoppingViewController:UIViewController,UITableViewDataSource,UITableViewDelegate
@bannings修复了另一个与当前问题无关的问题,但我仍然感谢您的支持that@bannings请参阅我的最新问题
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
}