passforios/pass/Controllers/AddPasswordTableViewController.swift

60 lines
2.4 KiB
Swift
Raw Normal View History

2017-02-10 22:15:01 +08:00
//
// AddPasswordTableViewController.swift
// pass
//
// Created by Mingshen Sun on 10/2/2017.
// Copyright © 2017 Bob Sun. All rights reserved.
//
import UIKit
class AddPasswordTableViewController: UITableViewController {
let tableTitles = ["name", "password", "additions"]
2017-02-10 22:15:01 +08:00
var password: Password?
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(UINib(nibName: "TextFieldTableViewCell", bundle: nil), forCellReuseIdentifier: "textFieldCell")
tableView.register(UINib(nibName: "TextViewTableViewCell", bundle: nil), forCellReuseIdentifier: "textViewCell")
2017-02-10 22:15:01 +08:00
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 64
2017-02-10 22:15:01 +08:00
tableView.allowsSelection = false
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableTitles.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if tableTitles[indexPath.row] == "additions" {
let cell = tableView.dequeueReusableCell(withIdentifier: "textViewCell", for: indexPath) as! TextViewTableViewCell
cell.titleLabel.text = tableTitles[indexPath.row]
cell.contentTextView.text = ""
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "textFieldCell", for: indexPath) as! TextFieldTableViewCell
cell.titleLabel.text = tableTitles[indexPath.row]
return cell
}
2017-02-10 22:15:01 +08:00
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
2017-02-11 16:12:10 +08:00
if segue.identifier == "saveAddPasswordSegue" {
let nameCell = getCellForName(name: "name")! as! TextFieldTableViewCell
let passwordCell = getCellForName(name: "password")! as! TextFieldTableViewCell
let additionsCell = getCellForName(name: "additions")! as! TextViewTableViewCell
password = Password(name: nameCell.contentTextField.text!, plainText: "\(passwordCell.contentTextField.text!)\n\(additionsCell.contentTextView.text!)")
}
2017-02-10 22:15:01 +08:00
}
func getCellAt(row: Int) -> UITableViewCell? {
return tableView.cellForRow(at: IndexPath(row: row, section: 0))
2017-02-10 22:15:01 +08:00
}
func getCellForName(name: String) -> UITableViewCell? {
2017-02-10 22:15:01 +08:00
let index = tableTitles.index(of: name)!
return getCellAt(row: Int(index))
}
}