検索

ホームページ  >  に質問  >  本文

IOS swift if let a = b 可以通过a改变b的值么?,请大神解释解释

如图为啥,为啥显示是这不科学呢,我觉得应该显示科学才对,莫非label和myLabel是绑定在一起的?

巴扎黑巴扎黑2889日前246

全員に返信(4)返信します

  • 怪我咯

    怪我咯2017-04-17 17:55:47

    Swift のクラスは参照型であり、実際にはラベルと myLabel はメモリ アドレスを指すため、同じことを変更します
    ポインター myLabel が指すアドレスを変更できないだけです
    myLabel === label を試して、アドレスが同じかどうかを判断できます

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:55:47

    labelmyLabel は同じオブジェクトを参照し、label.text = “xx”myLabel.text = “yy” の両方がそのオブジェクトの text プロパティを設定します。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:55:47

    Swift の値型の転送はすべてコピーであり、参照型の転送はすべてアドレスです

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 17:55:47

    上記の 3 人の素晴らしい方々に感謝します。
    struct と enum は値型 (コピー値で渡す) クラス インスタンス オブジェクトは参照型 (ポインタを渡す)

    返事
    0
  • キャンセル返事