con*_*ile 0 properties objective-c swift
什么是以下表达式的Swift等价物:
@property (strong, nonatomic) UIView *topView;
- (UIView *)topView {
...
}
Run Code Online (Sandbox Code Playgroud)
是以下内容:
var topView: UIView {
get {
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果前者是真的,有没有办法定义外部吸气剂?
我想你要问的是如何实现类似于以下内容:
@property (nonatomic, strong) UIView *topView
- (UIView *)topView {
if (_topView == nil) {
_topView = //...
// configure _topView...
}
return _topView;
}
Run Code Online (Sandbox Code Playgroud)
这个懒惰的属性getter很容易在Swift中实现:
lazy var topView: UIView = {
let view = //...
// configure view...
return view
}()
Run Code Online (Sandbox Code Playgroud)
这会生成只读变量,该变量仅在首次访问时初始化.您发布的Swift代码是一个计算的只读属性,每次访问时都会对其进行评估.
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |