1. 程式人生 > >Swift 框架搭建篇

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框架的搭建,其他的控制元件搭建原理基本都是類似