cari

Rumah  >  Soal Jawab  >  teks badan

objective-c - 在oc里面点号和中括号发送消息的区别

本来我以为在oc里面发送一个消息只能用中括号的

后来一个typo让我发现其实直接像c++那样用点号也是可以发送消息,只不过会多一个警告,内容看不太明白

很奇怪他说得并不是deprecated什么的,而是说这么用有副作用,不只看有谁能帮我解析一下这里说的副作用是什么意思

相关代码

// 申明
@property (weak, nonatomic) IBOutlet UITextField *textfield; 

// 运行代码
self.textfield.resignFirstResponder; //写成这样会出警告,但是能运行

[self.textfield resignFirstResponder]; // 按这样的标准写法就没事
PHP中文网PHP中文网2769 hari yang lalu476

membalas semua(3)saya akan balas

  • 高洛峰

    高洛峰2017-04-21 10:59:14

    Barisan amaran ini adalah seperti ini Ia tidak bermakna bahawa terdapat sebarang kesan sampingan jika anda melakukan ini, tetapi ini bermakna bahawa pengambil digunakan untuk mendapatkan nilai, dan menghantar resignFirstResponder adalah kesan sampingan disyorkan untuk menggunakan pengambil.
    .number adalah sama dengan kaedah getter dan setter pada sifat @synthesize

    balas
    0
  • 阿神

    阿神2017-04-21 10:59:14

    Terjemahan literal ialah: nilai pulangan atribut tidak digunakan.
    Maksudnya: sepatutnya
    a =b.c;
    Ia tidak disyorkan untuk menggunakan
    secara langsung b.c;
    Tidak seperti kaedah kelas, anda boleh menggunakan kaedah seperti ini:
    o.method();

    balas
    0
  • 黄舟

    黄舟2017-04-21 10:59:14

    Saya mengetahui bahawa kaedah resignFirstResponder biasanya digunakan untuk menghantar mesej.

    balas
    0
  • Batalbalas