Skip to content

Instantly share code, notes, and snippets.

@SwiftArchitect
Created February 8, 2016 16:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SwiftArchitect/c2f1bea2c575e3dadf09 to your computer and use it in GitHub Desktop.
Save SwiftArchitect/c2f1bea2c575e3dadf09 to your computer and use it in GitHub Desktop.
//
// TableViewController.swift
// SO-14995573
//
// Copyright © 2016 Xavier Schott
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
import UIKit
class TableViewCell: UITableViewCell {
@IBOutlet weak var contentLabel: UILabel!
func configureCell(text:String) {
contentLabel.text = text
}
}
class TableViewController: UITableViewController {
let words = ["Cat", "Chicken", "Fish", "Dog",
"Mouse", "Guinea Pig", "Monkey", "Cow", "Sheep", "Goat", "Rabbit", "Chicken", "Mouse", "Carp", "Parakeet", "Koi"]
override func loadView() {
super.loadView()
// setup for the automatic height
tableView.estimatedRowHeight = 20
tableView.rowHeight = UITableViewAutomaticDimension
}
@IBAction func doEditAction(sender: UIBarButtonItem) {
self.tableView.editing = !self.tableView.editing
tableView.setNeedsLayout()
tableView.layoutIfNeeded()
tableView.reloadData()
}
override func viewDidLoad() {
super.viewDidLoad()
tableView.setNeedsLayout()
tableView.layoutIfNeeded()
tableView.reloadData()
}
// MARK: - Table view data source
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 30
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) as! TableViewCell
func printManyWords(count: Int, text:[String]) -> String {
var paragraph:String = ""
var cursor = text.count - 1
var iterator = count
while iterator >= 0 {
paragraph += ("" == paragraph ? "" : " ") + text[cursor]
cursor = (0 == cursor) ? text.count - 1 : cursor - 1
iterator -= 1
}
return paragraph
}
cell.configureCell("\(indexPath.row) \(printManyWords(indexPath.row, text: words))")
return cell
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment