0023デフォルトの名無しさん
2017/11/18(土) 00:41:51.30ID:GufJ21C4@interface test(){
int _iHensu, _hensu;
}
@property (assign)int hensu;
@end
@implementation test
@synthesize hensu = _iHensu;
- (void)test{
_hensu = 10;
_iHensu = 90;
NSLog(@"h1 %d", _hensu); //10
NSLog(@"h2 %d", self.hensu);//90
}
@synthesize で hensuに_iHensuを登録すれば
self.hensuで呼び出されるのは_iHensuになる感じ
これはプリミティブ型のintだからassignだけど
オブジェクト型のインスタンスを
MRRチックに自分でretainするならセッター使わなくても問題ないよ
もちろんreleaseも必要
セッターゲッター使うとそれを省略出来るってこと
retainもセッターの中で
こんな感じの関数が呼ばれるだけだから
- (void)setHensu:(id)value{
if(_iHensu != value){
id oldValue = _iHensu;
_iHensu = (value != nil ? [value retain] : nil);
if(oldValue != nil) [oldValue release];
}
}