Swift与Objective-C API交互(一

前端之家收集整理的这篇文章主要介绍了Swift与Objective-C API交互(一前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Swift和Objective-C可以进行互操作,也就是说可以在Objective-C项目中使用Swift代码,反过来也可以。当然,这种互操作之间最重要的是可以在Swift中调用Objective-C的接口,毕竟目前绝大部分接口都是通过Objective-C提供的。

初始化

在Swift中实例化一个Objective-C的类时,可以用Swift语法调用它的一个初始化器。Objective-C的初始化方法被分割成关键字。例如“initWith”变成“init”,而剩下的部分作为方法的参数名。

Objective-C的代码

let myTableView: UITableView = UITableView(frame: CGRectZero,style: .Grouped)

在Swift中不需要调用alloc方法,它会自动处理对象的创建功能。注意:Swift不会显式的调用init方法

定义变量或者常量的时候,可以省略它的类型,Swift会自动识别。

UIColor *color = [UIColor colorWithRed: 0.5 green: 0.0 blue: 0.5 alpha: 1.0];

转换为Swift:

myTextField.textColor = UIColor.darkGrayColor()
myTextField.text = "Hello world"
if myTextField.editing {
    myTextField.editing = false
}

访问和设置属性的时候不需要使用圆括号,上面darkGrayColor之所以有括号,是因为调用的是UIColor的类方法,而不是属性

Objective-C中不需要参数并且有一个返回值的方法,可以被当作隐含的获取方法getter),从而使用点操作符。但是在Swift中点操作符只能访问Objective-C中使用@property定义的属性

方法调用

在Swift中使用点操作符调用Objective-C中的方法

Objective-C的方法在Swift中调用的时候,它的第一部分成为Swift的基本方法出现在括号之前。然后函数的第一个参数没有名字,剩下的部分作为Swift函数对应的参数名称
Objective-C语法:

myTableView.insertSubview(mySubview atIndex: 2)

调用无参的方法

myTableView.layoutIfNeeded()
原文链接:https://www.f2er.com/swift/327526.html

猜你在找的Swift相关文章