swift篇第五期:UITableView,OC与Swift互调

前端之家收集整理的这篇文章主要介绍了swift篇第五期:UITableView,OC与Swift互调前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_1@

先写一个UITableView的简单创建吧,经过前面几期的内容,那么创建一个常用的控件也是蛮简单的哦

classViewController:UIViewController,UITableViewDataSource,UITableViewDelegate,NSURLConnectionDataDelegate{

vardataArray=NSMutableArray()
vartableView:UITableView?

overridefuncviewDidLoad(){
super.viewDidLoad()
//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.
self.title="swh"

forvari=0;i<6;i++{
self.dataArray.addObject("row\(i)")
}

self.tableView=UITableView(frame:self.view.bounds,style:.Plain)
self.tableView!.delegate=self
self.tableView!.dataSource=self
self.view.addSubview(self.tableView!)
}

functableView(tableView:UITableView,numberOfRowsInSectionsection:Int)->Int{
returnself.dataArray.count
}

functableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSIndexPath)->UITableViewCell{
letcellIdentify="myCellIdentify"
varcell=tableView.dequeueReusableCellWithIdentifier(cellIdentify)as?UITableViewCell
if(cell==nil){
cell=UITableViewCell(style:.Default,reuseIdentifier:cellIdentify)
}
varstring=self.dataArray.objectAtIndex(indexPath.row)as?String
cell?.textLabel?.text=string

returncell!
}

functableView(tableView:UITableView,didSelectRowAtIndexPathindexPath:NSIndexPath){

}

overridefuncdidReceiveMemoryWarning(){
super.didReceiveMemoryWarning()
//DispoSEOfanyresourcesthatcanberecreated.
}


}

@H_404_1@

然后就是在Swift里面调用O-C代码,这样有利于我们可以利用很多O-C的三方开源库哦

我们在工程中新创建一个OC类文件,它会提示是否建立与Swift的桥接,选择YES后,就会新创建一个文件,名字是“工程名-Bridging-Header.h”的文件,在里面导入你想要调用的O-C头文件就可以了哦

@H_404_1@

然后是介绍O-C调用Swift代码,感觉这个并不是很常用哦

就是直接导入头文件,名字是“工程名-Swift.h”,当然了,名字不一定正确,我们可以去看看设置里面相关的product Module Name,然后替换工程名字就可以了哦

@H_404_1@

好啦,基本就是这些吧,其实我们可以在swift.h里面去看一下相关的代码转换哦

猜你在找的Swift相关文章