oc getter和setter
时间: 2023-09-23 11:03:39 浏览: 92
(OC)Setter,Getter修改私有属性
在Objective-C中,getter和setter是用来访问和修改对象属性的方法。它们可以手动编写,也可以使用@property关键字来自动生成。
getter方法用来获取属性的值,setter方法用来设置属性的值。默认情况下,如果你没有手动编写getter和setter方法,那么编译器会自动为你生成默认的getter和setter方法。默认的getter和setter方法会自动从对应的实例变量中获取或设置属性的值。
以下是手动编写getter和setter方法的示例:
```
@interface Person : NSObject
@property (nonatomic, strong) NSString *name;
@end
@implementation Person
- (NSString *)name {
return _name;
}
- (void)setName:(NSString *)name {
_name = name;
}
@end
```
使用@property关键字可以自动生成getter和setter方法,例如:
```
@interface Person : NSObject
@property (nonatomic, strong) NSString *name;
@end
@implementation Person
@end
```
这里并没有手动编写getter和setter方法,但编译器会自动为我们生成默认的getter和setter方法。
使用生成的getter和setter方法非常简单,例如:
```
Person *person = [[Person alloc] init];
person.name = @"Tom"; // 使用setter方法设置属性值
NSString *name = person.name; // 使用getter方法获取属性值
```
需要注意的是,如果你希望对属性进行自定义的访问和修改操作,例如进行类型转换、数据验证等操作,那么你可以手动编写getter和setter方法来实现。
阅读全文