Objective c 使用';变量';vs'_变量';?
可能重复:Objective c 使用';变量';vs'_变量';?,objective-c,ios,Objective C,Ios,可能重复: 我目前正在学习Objective-C,我正在学习一个使用变量的教程(至少对我来说!) 基本上,类变量是这样声明的: @interface .. { UITextField *_titleField; UIImageView *_imageView; } @property (retain) IBOutlet UITextField *titleField; @property (retain)
我目前正在学习Objective-C,我正在学习一个使用变量的教程(至少对我来说!) 基本上,类变量是这样声明的:
@interface .. {
UITextField *_titleField;
UIImageView *_imageView;
}
@property (retain) IBOutlet UITextField *titleField;
@property (retain) IBOutlet UIImageView *imageView;
然后合成如下:
@synthesize titleField = _titleField;
@synthesize imageView = _imageView;
那么基本上,这是为了什么 titleField是合成属性,\u titleField是它的背景字段
可能会帮助您更好地理解它属性只是一对方法的标记—“foo”和“setFoo”(除非属性是只读的,在这种情况下,只有“foo”会被合成)。一个变量(那些是实例,不是类变量,顺便说一句)是实际的内存存储。属性可以与内存存储相关联,@synthesis就是这样做的,但不必这样做。关键是,属性和实例变量通常一起使用,但又是不同的。人们通常使用
.
字符作为实例变量的标记(在其他语言中,也称为“字段”或“成员”等)。有些人在变量名后加下划线,有些人在变量名前加下划线,有些人根本不使用下划线,有些人使用不同的前缀。其思想是,它可以帮助您一目了然地区分哪些是实例变量,哪些不是
当然,如果您决定以特定的方式命名实例变量,但仍然希望属性具有“正常外观”名称,则需要将“正常外观”名称映射到“实例变量”名称。您好,谢谢您的回复。你能解释一下支持字段的用途吗?你知道其他编程语言吗?