oc @synthesize
时间: 2023-06-29 18:18:41 浏览: 164
"oc @synthesize" 是 Objective-C 语言中用于自动生成属性的 setter 和 getter 方法的关键字。在 Objective-C 2.0 之前,需要手动实现属性的 setter 和 getter 方法。而在 Objective-C 2.0 中,可以使用 @synthesize 关键字来自动实现属性的 setter 和 getter 方法。
举个例子,如果有一个名为 name 的属性,可以使用 @synthesize 来自动实现它的 setter 和 getter 方法:
```
@interface Person : NSObject
@property (nonatomic, copy) NSString *name;
@end
@implementation Person
@synthesize name;
@end
```
上述代码中,@synthesize name; 语句会自动生成 name 属性的 setter 和 getter 方法。这样,在使用 Person 类时,就可以通过点语法访问和修改 name 属性:
```
Person *p = [[Person alloc] init];
p.name = @"Tom";
NSString *name = p.name;
```
上述代码分别为 p 对象的 name 属性赋值,并读取了这个属性的值。需要注意的是,@synthesize 语句中的属性名称必须与 property 中声明的属性名称相同,否则会编译出错。另外,在 Xcode 4.4 之后,如果不手动指定 @synthesize,编译器会默认自动生成属性的 setter 和 getter 方法。
阅读全文