基本上,我想这样做:
var counter : Int = 0;
private var _data : String;
var data : String {
get { counter += 1; return _data; }
set { _data = newValue; }
}
Run Code Online (Sandbox Code Playgroud)
然后我想像这样减少它:
var counter : Int = 0;
var data : String {
get { counter += 1; return data; }
set { data = newValue; }
}
Run Code Online (Sandbox Code Playgroud)
但我注意到这不可能做到.(错误:在其初始值内使用的变量).所以我想像这样简化它:
var counter : Int = 0;
var data : String {
didGet { counter += 1; }
}
Run Code Online (Sandbox Code Playgroud)
但是没有这样的事情didGet.有没有办法在不添加新的其他变量的情况下执行此操作?我需要在counter += 1每次data访问时运行,而不添加新变量作为存储.谢谢.
| 归档时间: |
|
| 查看次数: |
1770 次 |
| 最近记录: |