Skip to content

Commit abe00ef

Browse files
Tyler FoxTyler Fox
Tyler Fox
authored and
Tyler Fox
committed
Minor refactoring for compatibility with Swift 1.1 and 1.2
Fixes #21 - Avoid overriding any of the table view controller initializers - Refactor and modernize the Model class
1 parent e9cb815 commit abe00ef

File tree

2 files changed

+13
-27
lines changed

2 files changed

+13
-27
lines changed

TableViewCellWithAutoLayout/TableViewController/Model.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,27 @@ import Foundation
99

1010
class Model
1111
{
12-
var dataArray: Array<(title:String, body:String)> = Array()
13-
14-
func populate()
12+
var dataArray: [(title: String, body: String)] = Array()
13+
14+
init(populated: Bool)
1515
{
16-
var fontFamilies = UIFont.familyNames()
17-
18-
for familyName: AnyObject in fontFamilies {
19-
if let familyNameString: String = familyName as? String {
20-
dataArray.append((title: familyNameString, body: randomLoremIpsum()))
16+
if (populated) {
17+
for familyName: AnyObject in UIFont.familyNames() {
18+
if let familyNameString = familyName as? String {
19+
dataArray.append((title: familyNameString, body: randomLoremIpsum()))
20+
}
2121
}
2222
}
2323
}
2424

2525
func addSingleItem()
2626
{
27-
var fontFamilies = UIFont.familyNames()
27+
let fontFamilies = UIFont.familyNames()
2828

2929
let r = random() % fontFamilies.count
3030
let familyName: AnyObject = fontFamilies[r]
3131

32-
if let familyNameString: String = familyName as? String {
32+
if let familyNameString = familyName as? String {
3333
dataArray.append((title: familyNameString, body: randomLoremIpsum()))
3434
}
3535
}
@@ -38,7 +38,7 @@ class Model
3838
{
3939
let loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent non quam ac massa viverra semper. Maecenas mattis justo ac augue volutpat congue. Maecenas laoreet, nulla eu faucibus gravida, felis orci dictum risus, sed sodales sem eros eget risus. Morbi imperdiet sed diam et sodales. Vestibulum ut est id mauris ultrices gravida. Nulla malesuada metus ut erat malesuada, vitae ornare neque semper. Aenean a commodo justo, vel placerat odio. Curabitur vitae consequat tortor. Aenean eu magna ante. Integer tristique elit ac augue laoreet, eget pulvinar lacus dictum. Cras eleifend lacus eget pharetra elementum. Etiam fermentum eu felis eu tristique. Integer eu purus vitae turpis blandit consectetur. Nulla facilisi. Praesent bibendum massa eu metus pulvinar, quis tristique nunc commodo. Ut varius aliquam elit, a tincidunt elit aliquam non. Nunc ac leo purus. Proin condimentum placerat ligula, at tristique neque scelerisque ut. Suspendisse ut congue enim. Integer id sem nisl. Nam dignissim, lectus et dictum sollicitudin, libero augue ullamcorper justo, nec consectetur dolor arcu sed justo. Proin rutrum pharetra lectus, vel gravida ante venenatis sed. Mauris lacinia urna vehicula felis aliquet venenatis. Suspendisse non pretium sapien. Proin id dolor ultricies, dictum augue non, euismod ante. Vivamus et luctus augue, a luctus mi. Maecenas sit amet felis in magna vestibulum viverra vel ut est. Suspendisse potenti. Morbi nec odio pretium lacus laoreet volutpat sit amet at ipsum. Etiam pretium purus vitae tortor auctor, quis cursus metus vehicula. Integer ultricies facilisis arcu, non congue orci pharetra quis. Vivamus pulvinar ligula neque, et vehicula ipsum euismod quis."
4040

41-
var loremIpsumArray = loremIpsum.componentsSeparatedByString(" ")
41+
let loremIpsumArray = loremIpsum.componentsSeparatedByString(" ")
4242

4343
let minimumNumberOfWords = 3
4444
let r = max(minimumNumberOfWords, random() % loremIpsumArray.count) // get a random number r, where: minimumNumberOfWords <= r <= loremIpsumArray.count

TableViewCellWithAutoLayout/TableViewController/TableViewController.swift

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,7 @@ class TableViewController: UITableViewController
1111
{
1212
let kCellIdentifier = "CellIdentifier"
1313

14-
var model = Model()
15-
16-
override init(style: UITableViewStyle)
17-
{
18-
super.init(style: style)
19-
20-
model.populate()
21-
}
22-
23-
required init(coder aDecoder: NSCoder)
24-
{
25-
super.init(coder: aDecoder)
26-
27-
model.populate()
28-
}
14+
var model = Model(populated: true)
2915

3016
override func viewDidLoad()
3117
{
@@ -87,7 +73,7 @@ class TableViewController: UITableViewController
8773
rowsToDelete.addObject(NSIndexPath(forRow: i, inSection: 0))
8874
}
8975

90-
model = Model()
76+
model = Model(populated: false)
9177

9278
tableView.deleteRowsAtIndexPaths(rowsToDelete as [AnyObject], withRowAnimation: .Automatic)
9379
}

0 commit comments

Comments
 (0)