美文网首页工作生活
Swift中一些关键词的使用

Swift中一些关键词的使用

作者: 盖小聂 | 来源:发表于2019-06-30 16:50 被阅读0次

1、@UIApplicationMain
2、dynamic
3、typealias
4、@autoclosure
5、@obj
6、lazy
7、final

1、@UIApplicationMain
  • @UIApplicationMain标签,这个标签做的事情就是将被标注的类作为委托,去创建一个UIApplication并启动整个程序。在编译的时候,编译器将寻找这个标记的类,并自动插入像main函数这样的模板代码。
2、dynamic
  • 手动指定动态派发功能。
3、typealias
  • typealias是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰。
  • Swift中没有泛型接口的,但是使用typealias,我们可以在接口里定义一个必须实现的别名,这在一定范围内也算一种折中方案。
4、@autoclosure
  • @autoclosure的作用就是将一句表达式自动转化成闭包比如:2 > 1 转化成 () -> Bool这种类型的闭包
5、@obj
  • 在Swift类型文件中,我们可以将需要暴露给Objective-C使用的任何地方(包括类,属性和方法等)的声明前面加上@objc修饰符。注意这个步骤只需要对那些不是继承自NSObject的类型进行,如果你用Swift写的class是继承自NSObject的话,Swift会默认自动为所有的非private的类和成员加上@objc。这就是说,对一个NSObject的子类,你只需要导入相应的头文件就可以在Objective-C使用这个类了。
6、lazy
  • 我们在使用lazy作为属性修饰符时,只能声明属性是变量。另外我们需要显式的指定属性类型,并使用一个可以对这个属性进行赋值的语句来在首次访问属性时运行。
  • 为了简化,我们如果不需要做什么额外工作的话,也可以对这个lazy的属性直接写赋值语句。
  • 对于那些不需要完全运行,可能提前退出的情况,使用lazy来进行性能优化效果会非常有效。
7、final
  • final关键字可以用在class,func或var前面进行修饰,表示不允许对该内容进行继承或者重写操作。

相关文章

网友评论

    本文标题:Swift中一些关键词的使用

    本文链接:https://www.haomeiwen.com/subject/zbubcctx.html