2016-08-02 28 views
0

--------------解决方案------------- 2016-07-31 11:16:36.116 t6_TableDemo [900:25064] - [UIView tableView:numberOfRowsInSection :]:无法识别的选择发送到实例0x7feaa273c520 2016年7月31日11:16:36.326 t6_TableDemo [900:25064] *终止应用程序由于未捕获的异常 'NSInvalidArgumentException' 的,原因是:“ - [UIView的 的tableView:numberOfRowsInSection: ]:无法识别的选择发送到 例如0x7feaa273c520' *第一掷调用堆栈:(在swift中调试:我找不到鳕鱼错误


和代码是:

{ 
// 

// ViewController.swift 

// t6_TableDemo 

// 

// Created by dvd shd on 7/29/16. 

// Copyright © 2016 zohur. All rights reserved. 

// 


import UIKit 


class ViewController: UIViewController,UITableViewDataSource { 


    let devcourses=[("ios App","simon All"),("ios 8","Biotifull"),("Win 7"," it is good"), ("Windows 8","is a bad"), ("Linux 7","is better"), ("ios 9","verry very Good"),("Xcode 7","it is better")] 



    let webcourses=[("rghamsar","akhavan"),("azmadar","bakhshali"),("rezapedar","shokrollahzadeh"), ("mohammadhoseinfarzand","shokrollahzadeh"), ("zhkhahar","shokrollahzadeh"), ("pakhahar","shokrollahzadeh"),("khodam","it is better")] 






    func numberOfSectionsInTableView(tableView: UITableView) -> Int { 

     return 2 

    } 



    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 





     if section == 0 { 

      return devcourses.count 

     } else 

     { 

      return webcourses.count 

     } 



    } 



    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

     var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)as UITableViewCell 









     if indexPath.section == 0 { 

      let (courseTitle,courseAuthor)=devcourses[indexPath.row] 

      cell.textLabel?.text=courseTitle 

      cell.detailTextLabel?.text = courseAuthor 





     } 

     else { 

      let (courseTitle,courseAuthor)=webcourses[indexPath.row] 

      cell.textLabel?.text=courseAuthor 

      cell.detailTextLabel?.text=courseTitle 

     } 

     // Retrieve in image 

     var myImage = UIImage(named: "CellIcon") 

     cell.imageView?.image=myImage 



     return cell 

    } 





    func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 

     if section == 0 { 

      return "Developer Courses" 

     } else 

     { 

      return "Web Courses" 

     } 

    } 







    override func viewDidLoad() { 

     super.viewDidLoad() 

     // Do any additional setup after loading the view, typically from a nib. 

    } 


    override func didReceiveMemoryWarning() { 

     super.didReceiveMemoryWarning() 

     // Dispose of any resources that can be recreated. 

    } 



} 



} 

回答

0

你在你的项目中错过了两件事情。

1:为您的tableView创建一个@IBOutlet

2:顺应其dataSourceviewDidLoad方法,你的结果将是:

enter image description here

完成代码将是:

import UIKit 

class ViewController: UIViewController,UITableViewDataSource { 


    let devcourses=[("ios App","simon All"),("ios 8","Biotifull"),("Win 7"," it is good"), ("Windows 8","is a bad"), ("Linux 7","is better"), ("ios 9","verry very Good"),("Xcode 7","it is better")] 

    let webcourses=[("rghamsar","akhavan"),("azmadar","bakhshali"),("rezapedar","shokrollahzadeh"), ("mohammadhoseinfarzand","shokrollahzadeh"), ("zhkhahar","shokrollahzadeh"), ("pakhahar","shokrollahzadeh"),("khodam","it is better")] 

    @IBOutlet weak var tblView: UITableView! 

    override func viewDidLoad() { 

     super.viewDidLoad() 

     tblView.dataSource = self 
    } 

    func numberOfSectionsInTableView(tableView: UITableView) -> Int { 

     return 2 

    } 

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

     if section == 0 { 

      return devcourses.count 

     } else { 

      return webcourses.count 

     } 
    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

     let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)as UITableViewCell 

     if indexPath.section == 0 { 

      let (courseTitle,courseAuthor)=devcourses[indexPath.row] 

      cell.textLabel?.text=courseTitle 

      cell.detailTextLabel?.text = courseAuthor 

     } 

     else { 

      let (courseTitle,courseAuthor)=webcourses[indexPath.row] 

      cell.textLabel?.text=courseAuthor 

      cell.detailTextLabel?.text=courseTitle 

     } 

     // Retrieve in image 

     let myImage = UIImage(named: "CellIcon") 

     cell.imageView?.image=myImage 

     return cell 

    } 

    func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 

     if section == 0 { 

      return "Developer Courses" 

     } else { 

      return "Web Courses" 

     } 
    } 
} 

检查Demo Project欲了解更多信息。

相关问题