C、Objective - C与Swift交互全解析
在软件开发中,C、Objective - C和Swift这三种编程语言常常会在项目中共同使用。了解它们之间的交互方式,对于开发者来说至关重要。下面将详细介绍它们在方法重载、可变参数、初始化器、选择器、CFTypeRefs、块以及API标记等方面的交互特点。
1. 方法重载(Overloading)
Objective - C不允许方法重载。例如,两个名为 myMethod: 的视图控制器实例方法,一个接受 CGFloat 参数,另一个接受 NSString 参数,在Objective - C中是非法的。而在Swift中,方法重载是允许的,但前提是不能将多个重载方法同时暴露给Objective - C。
2. 可变参数(Variadics)
Objective - C有自己的可变参数版本。以 NSArray 的 arrayWithObjects: 方法为例,其声明如下:
+ (id)arrayWithObjects:(id)firstObj, ... ;
在Objective - C中,调用这种方法时必须明确告知参数数量,很多方法(如 arrayWithObjects: )使用 nil 作为终止符。例如:
N
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



