当我们新建一个xcode项目之后,我们可以在Swift里面导入任意Objective-C的Cocoa平台框架.
任意Objective-C的框架或者一些C的类库将会作为一个module(模块)
,直接导入到swift中,包括了所有的Objective-C系统的框架比如Foundation
,UIKit
还有SpriteKit
等,就像系统支持公共的C类库.煮个栗子:如果我们想导入Foundation
,只需要简单的添加import语句到我们写的Swift文件的顶部.
import Foundation //需要注意的是,swift没有头文件,实现与接口之间没有明显的划分,所以一个类中所有信息全部都存储在单独的.swift文件当中.
这个import导入了所有Foundation的API,包括NSDate,NSURL,NSMutableDate,并且他们中所有的方法,属性和分类都可以在swift中直接调用.
Objective-C(以下简称OC)在头文件里面声明API,而在swift中,这些头文件被编译成了OC中得module
,然后被导入到swift中作为swift的API,导入决定了OC得Function,class,Method
和type
如何在swift中出现,对于Function
和Method
,这个过程影响他们的参数以及返回值.在导入的过程中可以做以下事情:
- 重映射确定的OC类型到swift中得同等类型,就想id到AnyObject.
- 重映射确定的OC核心类型到swift中得替代类型,比如NSString到String.
- 重映射确定的OC概念到swift中相对应的概念,比如pointers到optionals.
参考资料:The Swift Programming Language
网友评论