59、C、Objective - C与Swift交互全解析

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个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值