Maison  >  Questions et réponses  >  le corps du texte

objective-c - 成员变量如何赋值的

我们都知道属性的赋值是调用属性的setter方法, 可是成员变量是如何赋值的呢? 他的内部实现原理是什么?

怪我咯怪我咯2749 Il y a quelques jours518

répondre à tous(2)je répondrai

  • ringa_lee

    ringa_lee2017-05-02 09:29:14

    @implementation ViewController
    
    {
        UIView *_iconView;
    }
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        NSLog(@"%@", self->_iconView);
        NSLog(@"%@", _iconView);
    }

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-02 09:29:14

    Je pense que je veux poser des questions sur la différence entre ivar et propriété.
    propriété = ivar+getter+setter

    Par exemple
    property (assign) int a générera une variable membre de _a par défaut, que nous appelons ivar
    et générera également une méthode setter, qui ressemble à ceci :

    -(void)setA:(int)a {
        _a = a;
    }
    

    Une méthode getter sera également générée, qui ressemble à ceci :

    -(int)a {
        return _a;
    }
    

    En même temps, cela donnera à _a quelques buffs de gain, tels qu'une référence forte forte et une référence faible faible pour contrôler le cycle de vie de cette variable.

    L'immobilier n'est donc qu'une forme de programmation, vous n'avez pas besoin d'y prêter trop d'attention, vous pouvez complètement suivre votre propre routine.

    répondre
    0
  • Annulerrépondre