swift 与 OC中的需要注意知识点

Posted 刚刚888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 与 OC中的需要注意知识点相关的知识,希望对你有一定的参考价值。

 

swift oc   

*swift有命名空间概念,所谓命名空间即同一个命名空间中相互可以调用不用导入。不同命名空间中可以起相同的名字

swift项目就是一个命名空间 

 

 

 

*运行时获取类属性列表、属性名称、将C语言字符串转成oc string 

*基本数据类型,在OC中没有可选,swift中如果定义成可选,运行时同样获取不到,使用KVC会崩溃,所以基本数据类型需要赋初值

*private 的属性,使用运行时,同样获取不到属性,同样会让KVC崩溃

 

 

*运行时即运行时执行的方法

*oc中的对象在运行时面前一切属性方法都是裸露的 ,都通过运行时方法可以获取到

 

 *反射机制就是运行时反射执行一些代码

 *利用反射机制加载启动控制器,如下

 

*判断是否是某个类 、协议、方法 

*修改项目名

 

 

*配置桥接文件(一些oc文件需要配置)

1.创建header文件,导入oc头文件

2.完成如下配置,即可在swift中使用

 

 

*extension类似于OC中的分类,在Swift中还可以用来切分代码块

*可以把功能相近的函数,放在一个extension中

注意:和oc的分类一样,extension中不能定义属性

 

*extension中不能重写父类方法,重写父类方法是子类的职责, 扩展是对类的扩展

 

*swift3.0 现在的访问权限则依次为:open,public,internal,fileprivate,private。详情查看以下网址:

http://www.jianshu.com/p/604305a61e57

 

*缩进方式设置控件frame

 

* OC中使用CGRectInset进行缩进设置

*swift3.0设置横竖屏

详情参考 http://stackoverflow.com/questions/25651969/setting-device-orientation-in-swift-ios

 

 

 *OC中使用
shouldAutorotate 和
supportedInterfaceOrientations

*view插入视图 如下:将tableview放在自定义导航栏下,使用插入更方便

 

 
 

*为了迎合swift推出了泛型的概念

泛型是程序设计语言的一种特性,他主要是为了限制类型的,比如OC中的数组,你可以限制他里面装的是NSString类型

详情参考:http://www.cnblogs.com/MyBlogZH/p/5523374.html

*创建时如果隐藏导航栏系统则会自动缩进20个像素

 

 

*tableView内容缩进方法, 如下设置可使tableview内容向下移动height高度

 

 

以上是关于swift 与 OC中的需要注意知识点的主要内容,如果未能解决你的问题,请参考以下文章

Swift与OC的混编

swift与OC混编

OC与swift相互调用

Swift与OC混编

OC与swift相互调用

swift之OC与Swift混编