我现在知道@property int age;
编译器会自动生成属性, setter方法和getter方法的声明实现
int _age;
- (void)setAge:(int)age;
- (int)age;
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}
但我用@property int _age;
生成的属性是什么? 不是__age 不是_age 也不是age
声明倒是没问题
- (void)set_age:(int)_age;
- (int)_age;
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
@property int _age这样定义属性默认是原子性(atomic)的,所以呢这时候set和get方法是不完整的,你需要进行使用@dynamic或者@synthesize来保证set和get同步,其实你只要换成@property (nonatomic)int age;即可.与有没有'_'没有关系参考SO,中文版新浪博客