码迷,mamicode.com
首页 > 编程语言 > 详细

Swift 实现UITableView报错, does not conform to protocol 'UITableViewDataSource'

时间:2015-01-10 12:44:59      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:swift   uitableview   uitableviewcell   swift教程   xcode   

Swift语言中的UITableView中着实很坑爹,为什么呢,因为在遵循协议后经常会报这样的错误:does not conform to protocol ‘UITableViewDataSource‘。而且是第一次尝试的伙伴们经常会发现,我写的代码没有问题呀,该写的都写了,为什么还是报错呢,有的时候是xcode的问题,有的时候又是自己遵循的协议中有必需实现的方法而没有实现导致的。所以遇到这种问题,大家不妨跳进代理中去看看必须实现的方法都实现的没有。

下面是我写的一个小demo,大家可以看看。

import UIKit


class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
    
    var dataArray: NSMutableArray?
    var tableView: UITableView?
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Do any additional setup after loading the view, typically from a nib.
        self.view.backgroundColor = UIColor.orangeColor()
        self.navigationItem.title = "您好 Swift"
        
        self.dataArray = NSMutableArray()
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        self.dataArray!.addObject("您好 Swift")
        
        
        NSLog("%@", self.dataArray!)
        
        self.tableView = UITableView(frame: self.view.frame, style:UITableViewStyle.Plain)
        self.tableView!.delegate = self
        self.tableView!.dataSource = self
        self.tableView!.registerClass(UITableViewCell.self, forCellReuseIdentifier: "MyTestCell")
        self.view.addSubview(self.tableView!)
        
        
    }
 
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
        return self.dataArray!.count
    }
    
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
        let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")
        
        var string :String = self.dataArray?.objectAtIndex(indexPath.row)as String
        cell.textLabel.text = string
        cell.textLabel.text = string
        
        return cell
    }
    
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
        
        var controller = secondViewController()
        controller.title = "Swift 的自我介绍"
        controller.view.backgroundColor = UIColor(red: 10/255.0, green: 100/255.0, blue: 200/255.0, alpha: 1.0)
        self.navigationController?.pushViewController(controller, animated: true)
    }
    
   
    
}


技术分享

技术分享

Swift 实现UITableView报错, does not conform to protocol 'UITableViewDataSource'

标签:swift   uitableview   uitableviewcell   swift教程   xcode   

原文地址:http://blog.csdn.net/mjbaishiyun/article/details/42580729

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!