
@IBOutlet weak var vv_imgView: UIImageView!
@IBOutlet weak var vv_lblModel: UILabel!
@IBOutlet weak var vv_lblOS: UILabel!
@IBOutlet weak var vv_lblPrice: UILabel!
var cv_arrayModel: [String] = ["iPad","Xoom","Playbook","TouchPad","Surface"]
var cv_arrayOS: [String] = ["iOS","Android","BlackBerry","WebOS","Windows"]
var cv_arrayImg: [String] = ["01-ipad.png","02-xoom.png","03-playbook.png","04-touchpad.png", "05-surface.png"]
var cv_arrayPrice: [Int] = [499,799,499,499,449]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
// Item 27, pp403
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.cv_arrayModel.count
}
// Item 28, pp403
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:MyTableViewCellController = self.tableView.dequeueReusableCell(withIdentifier: "SimpleCell")! as! MyTableViewCellController
cell.vv_lblModel?.text = self.cv_arrayModel[indexPath.row]
cell.vv_lblOS?.text = self.cv_arrayOS[(indexPath as NSIndexPath).row]
cell.vv_lblPrice?.text = "$\(self.cv_arrayPrice[indexPath.row])"
cell.vv_imgView?.image = UIImage(named: self.cv_arrayImg[indexPath.row])
return cell
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 96
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let rowValue = cv_arrayModel[(indexPath as NSIndexPath).row]
let message = "You selected \(rowValue)"
let controller = UIAlertController(title: "Row Selected", message: message, preferredStyle: .alert)
let action = UIAlertAction(title: "Yes I Did", style: .default, handler: nil)
controller.addAction(action)
present(controller, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
self.vv_ctrlRefresh?.addTarget(self,
action: #selector(ViewController.cfp_handleRefresh(_:)),
for: UIControl.Event.valueChanged)
}
@IBOutlet var vv_tableView: UITableView!
@IBOutlet weak var vv_ctrlRefresh: UIRefreshControl!
@objc func cfp_handleRefresh(_ refreshControl: UIRefreshControl) {
//cv_arrayPrice = cv_arrayPrice.map({$0+10})
cv_arrayPrice = cv_arrayPrice.map({_ in Int(arc4random_uniform(700)+100)})
self.vv_tableView.reloadData()
vv_ctrlRefresh.endRefreshing()
}
var cv_colorCode = "33CC00";
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = cfp_UIColorFromRGB(cv_colorCode);
}
private func cfp_UIColorFromRGB(_ colorCode: String) -> UIColor {
let scanner = Scanner(string:colorCode)
var color:UInt32 = 0;
scanner.scanHexInt32(&color)
let mask = 0x000000FF
let r = CGFloat(Float(Int(color >> 16) & mask)/255.0)
let g = CGFloat(Float(Int(color >> 8) & mask)/255.0)
let b = CGFloat(Float(Int(color) & mask)/255.0)
return UIColor(red: r, green: g, blue: b, alpha: 1.0)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "vv_greenSegue") {
if let destination = segue.destination as? secondViewController {
destination.cv_colorCode = "33CC00"
}
}
else if (segue.identifier == "vv_blueSegue") {
if let destination = segue.destination as? secondViewController {
destination.cv_colorCode = "3300CC"
}
}
}
var cv_model : String = "iPad" var cv_imgName : String = "ipad.png"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navigationItem.title = cv_model
vv_labelModel.text = cv_model
vv_imageView.image = UIImage(named: cv_imgName)
}
@IBOutlet var vv_tableView: UITableView!
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "vv_segueForward") {
if let destination = segue.destination as? MySubViewController {
if let lv_index = vv_tableView.indexPathForSelectedRow {
destination.cv_model = cv_arrayModel[lv_index.row]
destination.cv_imgName = cv_arrayImg[(lv_index as NSIndexPath).row]
}
}
}
}