Swift與Objective混編實現(xiàn)tableview列表

swift 2016.9.23: 已經(jīng)更新到 Swift 3.0

從2014年發(fā)布以來Swift每年變化還是挺大的遭铺,但是隨著Swift的使用者越來越多很有必要研究一下了。

我認(rèn)為IOS編程很大程度上就是TableView編程毁习,在App中各種TableView無所不有撇他,所以我就已簡單的Swift TableiView和Swift Objective混編簡單入門一下swift肥印。

首先在ViewController中申明一個TableView性锭,然后把它加載到view上。

注意此處tableiView初始化在屬性中,而不用卸載method中招驴。

import UIKit

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource

{

let tableView = UITableView(frame:CGRect(x:0,y:0,width:UIScreen.main.bounds.size.width,

height:UIScreen.main.bounds.size.height) ,

style: UITableViewStyle.plain)

override func viewDidLoad() {

super.viewDidLoad()

tableView.delegate = self

tableView.dataSource = self

tableView.backgroundColor = UIColor.clear

self.view.addSubview(tableView)

}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return 20

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = MyCell().customCell(tableView: tableView)

cell.loadData(line: indexPath.row, title: "title" + String(indexPath.row))

print(Unmanaged.passUnretained(cell).toOpaque());

return cell;

}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

let oc = OCViewController()

self.navigationController?.pushViewController(oc, animated: true)

}

func provide(person:String) -> String {

return "hello"

}

自定義Cell

此處我有一個疑問篙程,在oc中NSStringFromClass可以很好的給cell設(shè)置標(biāo)示,而在Swift中沒有類似的方法别厘,看到網(wǎng)上有人說String.self()方法房午,但似乎不起作用,歡迎大家評論留言

import UIKit

class MyCell: UITableViewCell {

@IBOutlet weak var iTitleLabel: UILabel!

@IBOutlet weak var iOrderLabel: UILabel!

func customCell(tableView:UITableView) -> MyCell {

var cell = tableView.dequeueReusableCell(withIdentifier: "MyCell")

if cell == nil{

cell = Bundle.main.loadNibNamed("MyCell", owner: nil, options: nil)?.last as! MyCell?

}

return cell as! MyCell

}

func loadData(line:Int,title:String) {

iOrderLabel.text =? String(line)

iTitleLabel.text = title

}

override func awakeFromNib() {

super.awakeFromNib()

// Initialization code

self.backgroundColor = UIColor.init(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.1)

}

override func setSelected(_ selected: Bool, animated: Bool) {

super.setSelected(selected, animated: animated)

// Configure the view for the selected state

}

}

Swift與Objective的混編

在Swift的工程中新建Objective類丹允,和橋接文件“工程名-Bridging-Header.h”

在橋接文件中引入oc頭文件

#import "OCViewController.h"


在oc類文件中條用Swift類需引入Swift默認(rèn)透頭文件“工程名-swift.h”

完整項目見gitHub:

https://github.com/393698063/SwiftAndObjectiveTableview

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市袋倔,隨后出現(xiàn)的幾起案子雕蔽,更是在濱河造成了極大的恐慌,老刑警劉巖宾娜,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件批狐,死亡現(xiàn)場離奇詭異,居然都是意外死亡前塔,警方通過查閱死者的電腦和手機嚣艇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來华弓,“玉大人食零,你說我怎么就攤上這事〖牌粒” “怎么了贰谣?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長迁霎。 經(jīng)常有香客問我吱抚,道長,這世上最難降的妖魔是什么考廉? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任秘豹,我火速辦了婚禮,結(jié)果婚禮上昌粤,老公的妹妹穿的比我還像新娘既绕。我一直安慰自己,他們只是感情好婚苹,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布岸更。 她就那樣靜靜地躺著,像睡著了一般膊升。 火紅的嫁衣襯著肌膚如雪怎炊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機與錄音评肆,去河邊找鬼债查。 笑死,一個胖子當(dāng)著我的面吹牛瓜挽,可吹牛的內(nèi)容都是我干的盹廷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼久橙,長吁一口氣:“原來是場噩夢啊……” “哼俄占!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起淆衷,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤缸榄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后祝拯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甚带,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年佳头,在試婚紗的時候發(fā)現(xiàn)自己被綠了鹰贵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡康嘉,死狀恐怖碉输,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亭珍,我是刑警寧澤腊瑟,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站块蚌,受9級特大地震影響闰非,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜峭范,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一财松、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纱控,春花似錦辆毡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尔店,卻和暖如春眨攘,著一層夾襖步出監(jiān)牢的瞬間主慰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工鲫售, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留共螺,地道東北人。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓情竹,卻偏偏與公主長得像藐不,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子秦效,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內(nèi)容...
    i得深刻方得S閱讀 4,662評論 1 9
  • 1雏蛮、tableView 的編輯模式 進入編輯模式 代碼體現(xiàn) // 設(shè)置 editing 屬性tableView?....
    早起的蟲兒子被鳥吃閱讀 6,104評論 0 4
  • 圓形 其實聽到這個主題我下意識想到的就是眼睛,后面才想到了其他一些事物阱州。 都說眼睛是心靈的窗戶底扳,你可以通過它看到外...
    也小動閱讀 221評論 4 2
  • 簡單工廠 工廠方法 抽象工廠 單例模式 策略模式 觀察者模式 責(zé)任鏈模式 裝飾者模式 適配器模式 代理模式 門面模...
    Josen_Qu閱讀 195評論 0 0
  • 過年回老家,拍了一些照片贡耽。 都是親人們在說笑、勞動的時候抓拍的鹊汛。今天又瀏覽了這些照片蒲赂,順帶著把去年的也翻看了一下。...
    Pearl踏歌行閱讀 337評論 0 0