Swift 框架搭建篇
前兩篇大概的介紹了一下Swift的組成,結構,語法及與OC的去區別,本片將會以UITbaleView為例,實現框架搭建,更詳細深入的剖析Swift~~~~~
當然Swift的使用基本分兩種,一是在OC中使用Swift,二是在Swift中使用OC,那麼這兩種分別要注意些什麼,請看下面詳細說明
1.Swift檔案中使用OC檔案
1)建立一個橋接檔案,(如果在原工程中建立的OC檔案,系統會自動幫我們建立一個橋接檔案,如果是匯入的OC檔案,就需要我們自己建立一個.h的標頭檔案當做橋接檔案)
2)如果想要使用自定義的.h檔案當做橋接檔案,需要在Bulid Settings裡面修改一下路徑,搜尋bridging就會感應出來
3)在橋接檔案中匯入OC 檔案的標頭檔案,在Swift中就可以直接使用了
2.在OC檔案中使用Swift檔案
1)在藍色工程游標裡面的Bulid Settings搜尋product module
2)搜尋出什麼名字就在你想使用的地方匯入搜尋出來你想要的名字加Swift.h,如下圖
下面一起來看一下,Swift中tableView的寫法
1.建立一個Swift狀態下的ViewController
建立好以後,會出現下面這種格式畫面
由於Swift沒有.h檔案所以,屬性要寫在方法外面,就是寫在override func viewDidLoad()這個方法上面
2.下面一起來建立一個控制元件(UITableView)
控制元件還是寫在override func viewDidLoad()這個方法裡面
let myTableView = UITableView(frame: CGRectMake(0, 0, 320, 568))
self.view.addSubview(myTableView)
myTableView.delegate = self
myTableView.dataSource = self
3.新增一個數組屬性,用來當做表檢視的資料來源(當Swift的資料型別不能滿足需求的時候,可以使用OC 的資料型別)
var DataArr = NSMutableArray()
4.新增代理,代理名寫在類名後面用逗號隔開,如下圖
5.實現代理方法,兩個必須是實現的方法
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//在後面需要加as
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! MyTableViewCell
return cell
}
注意:cell的建立和OC一樣,兩種方法,任選一種,下面是註冊方法(個人覺得註冊簡便一點)
//MARK:註冊cell
myTableView.registerClass(MyTableViewCell.classForCoder(), forCellReuseIdentifier: "cell")
6.向陣列中新增資料
建立一個類。這裡以person類為例
for var i=0;i<10;i++ {
let p = Person(Name: "name\(i)", Age: "age\(i)", Address: "address\(i)")
DataArr.addObject(p)
}
7.給cell賦值
let p = DataArr.objectAtIndex(indexPath.row)
cell.lable.text = p.name
8.完成這一步以後執行一下,就可以看到下面這個介面
9.最後說一下 UINavigationBar的新增
選中storyboard,按照圖片指示,就可以新增上了
以上就是關於Swift中tableView框架的搭建,其他的控制元件搭建原理基本都是類似