-
-
Save jquave/8ca03aad33490a2ffa73 to your computer and use it in GitHub Desktop.
| import UIKit | |
| class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { | |
| 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. | |
| } | |
| func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int { | |
| return 10 | |
| } | |
| func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { | |
| let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell") | |
| cell.text = "Row #\(indexPath.row)" | |
| cell.detailTextLabel.text = "Subtitle #\(indexPath.row)" | |
| return cell | |
| } | |
| } |
cell.text is no longer kosher. cell.textLabel.text is what all the cool kiddies are doing these days.
How is this able to work without: @IBOutlet weak var (appname): UITableView! - in the viewcontroller?
@ccorcos it's a beta, it makes total sense.
I had to alter the code to the following to eliminate errors and build.
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
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.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")
cell.textLabel?.text = "Row #\(indexPath.row)"
cell.detailTextLabel?.text = "Subtitle #\(indexPath.row)"
return cell
}
}what @GeoffreyHinck mentioned already:
How is this able to work without: @IBOutlet weak var (appname): UITableView! - in the viewcontroller?
Seriously, isn't IBOutlet line not required?
@insaneinc01 IBOutlet line is required. if delete this line , i got a NSUnknownKeyException
This is working for me
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var table: UITableView!
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.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "TestCell")
cell.textLabel?.text = "Row #\(indexPath.row)"
cell.detailTextLabel?.text = "Subtitle #\(indexPath.row)"
return cell;
}
}
@geekles thx! It works for me
This worked for me just fine:
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .Subtitle, reuseIdentifier: "MyTestCell")
cell.textLabel?.text = "Row #\(indexPath.row)"
cell.detailTextLabel?.text = "Subtitle #\(indexPath.row)"
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}Note I don't have any @IBOutlet declarations and style can just be passed as .Subtitle.
As a Swift beginner, without dataSoure of IBOutlet
I couldn't implement table view in view controller
So I added dataSoure of IBOutlet
@IBOutlet weak var table: UITableView!yourTableOutlet.dataSource = selfoverride func viewDidLoad() {
super.viewDidLoad()
...
yourTableOutlet.dataSource = self
...
}//
// ViewController.swift
// HelloSwift
//
// Created by Randika Chandrapala on 9/17/15.
// Copyright (c) 2015 Kasun Randika. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
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.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: .Subtitle, reuseIdentifier: "MyTestCell")
cell.textLabel?.text = "Row #\(indexPath.row)"
cell.detailTextLabel?.text = "Subtitle #\(indexPath.row)"
return cell
}
}
Above worked for me too. At first I put a IBOutlet just for trying it. then after I read the thread, I deleted it and tried, it still works. I think previous XCode 6 Betas might needed an IBOutlet. only thing I've connected is UITableViewDataSource and UITableViewDelegate.
Note: My XCode version is Version 6.3.2 (6D2105) running on Mac OS X Yosemite (10.10.3 (14D136))
It doesn't make sense that we don't get this boilerplate code anymore...