您的位置:首页 > 移动开发 > Swift

Swift 框架搭建篇

2016-01-28 17:42 330 查看
前两篇大概的介绍了一下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框架的搭建,其他的控件搭建原理基本都是类似
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift 框架 结构