nop*_*ole 1 properties objective-c
对于Objective-C,在以下头文件中:
@interface Peg : NSObject {
char color;
}
@property char color;
Run Code Online (Sandbox Code Playgroud)
我想知道成员变量是否已经被称为char类型,那为什么@property
必须重复它?(否则它不会编译).编译器不能告诉它是char吗?它不可能是其他任何东西,不是吗?
这是因为通常属性不必与类的任何声明的实例变量相关.您可能拥有一个属性,但不在您的类标题中包含变量.这就是你必须声明它的类型的原因.
使用属性而不是变量使得标头清洁,隐藏实现.
所以,你可以声明一个属性然后@synthesize
它
@interface Peg : NSObject
@property char color;
@implementation Peg
@synthesize color;
@end
Run Code Online (Sandbox Code Playgroud)