Swift:Minimizing Annotation with Type Inference
2016-07-16 10:26
281 查看
许多程序猿更喜欢比如Python和Javascript这样的动态语言,因为这些语言并不要求程序猿为每个变量声明和管理它们的类型.
在大多数动态类型的语言里,变量可以是任何类型,而类型声明是可选的或者根本不允许.
Objective-C采用了混合的处理方式:它需要类型声明,但是任何指向一个Objective-C类实例的变量(包括任何从NSObject派生出的类,但不能是所谓的原始类型,比如int,float等等)可以简单的声明为其类型为id,因此可以指向任何Objective-C实例类型.
甚至当使用一个更严格的声明时,Objective-C编译器也不能对变量的类型做任何严格的保证.
在大多数动态类型的语言里,变量可以是任何类型,而类型声明是可选的或者根本不允许.
Objective-C采用了混合的处理方式:它需要类型声明,但是任何指向一个Objective-C类实例的变量(包括任何从NSObject派生出的类,但不能是所谓的原始类型,比如int,float等等)可以简单的声明为其类型为id,因此可以指向任何Objective-C实例类型.
甚至当使用一个更严格的声明时,Objective-C编译器也不能对变量的类型做任何严格的保证.
相关文章推荐
- Swift:Minimizing Annotation with Type Inference
- 理解Swift中的Optional
- Openstack Swift 原理、架构与API介绍
- (swift)我只要一个功能 --在uiwebview中的html按钮能够通过JS跳转到原生的Uiview中
- 我们连站都站不好--从Taylor Swift的脖子说起
- Swift中使用CocoaPods
- Objective-C与Swift混编中OC对Swift类视而不见的问题
- 用Swift实现淘宝和大众点评的下拉刷新
- swift 进入后台或者点击home键是程序进入后台后,持续定位
- 编程词典 - Swift version V1.1
- Swift中实现Observable机制
- Swift中实现Observable机制
- Swift Array Slice
- Swift学习目录
- Cocoapods swift配置
- swift语言之ios开发实现界面跳转
- OC与Swift语言的相互调用
- Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
- Swift高级
- 用 swift 纯代码自定义 TableViewCell ,以及自定义 cell 在 TableView 中的调用