War*_*ior 5 iphone cocoa cocoa-touch objective-c
我是iphone开发的新手.我正在研究iphone中的录音.我已经从Apple下载了"speak here"示例程序.它包含LevelMeter.h文件,其中
@interface LevelMeter : UIView {
CGFloat _level, _peakLevel;
}
Run Code Online (Sandbox Code Playgroud)
该物业被设定为
@property CGFloat level;
@property CGFloat peakLevel;
Run Code Online (Sandbox Code Playgroud)
声明像_level这样的变量并将其属性设置为level是什么用.请解释一下.谢谢.
该@property指令相当于声明一个 setter 和一个 getter。如果是level,
@property CGFloat level;
Run Code Online (Sandbox Code Playgroud)
可以替换为
- (CGFloat)level;
- (void)setLevel:(CGFloat)v;
Run Code Online (Sandbox Code Playgroud)
level为什么要为一个名为 name 的变量声明一个属性,为什么要首先_level用一个前导来命名一个变量?_我不知道。
它是如何工作的,答案如下LevelMeter.m:
- (CGFloat)level { return _level; }
- (void)setLevel:(CGFloat)v { _level = v; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1310 次 |
| 最近记录: |