在swift中
使用let 声明常量,仅允许一次赋值,第二次赋值则会出错
使用var声明变量,可以多次进行赋值
!结尾表示该对象不能为空,必须进行初始化才能使用,否则报错
?结尾表示改对象可以为空,直接使用不会报错,
//
// ViewController.swift
// SwiftEx
//
// Created by reylen on 15/11/18.
// copyright © 2015年 reylen. All rights reserved.
//
import UIKit
class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view,typically from a nib.
self.title = "Swift Test"
self.navigationItem.rightBarButtonItem = UIBarButtonItem.init(title: "WebTest",style: UIBarButtonItemStyle.Plain,target: self,action: Selector("gotoWebTest"))
initUI()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// dispose of any resources that can be recreated.
}
func initUI () {
self.tableView = UITableView.init(frame: self.view.bounds,style: UITableViewStyle.Plain)
self.tableView.delegate = self
self.tableView.dataSource = self
self.view.addSubview(self.tableView)
}
// MARK: Action
func gotoWebtest(){
let web = WebViewController.init(nibName: nil,bundle: nil)
self.navigationController?.pushViewController(web,animated: true)
}
// MARK: tableView dataSource,delegate
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView,heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 90
}
func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : UITableViewCell!;
let identifier = "cellIdentifier"
cell = tableView.dequeueReusableCellWithIdentifier(identifier)
if(cell == nil)
{
cell = UITableViewCell.init(style: UITableViewCellStyle.Subtitle,reuseIdentifier: identifier)
}
cell.textLabel?.text = String.init(format: "this is row %i",arguments: [indexPath.row])
cell.detailTextLabel?.text = "detail"
return cell
}
}