Pesan adalah nama pemilih, dan parameter untuk pemilih itu.
Selektor adalah simbol.
Metode adalah sepotong kode dalam kelas yang diidentifikasi oleh pemilih.
Dengan kata lain, [foo bar: baz]
katakan "kirim pesan yang disebut @selector(bar:)
dengan parameter baz
ke objek foo
. Anda bisa mengirim pesan itu ke banyak objek berbeda.
Sebaliknya, metode bar:
untuk Foo
mungkin terlihat seperti
-(int)bar:(int)n {
return n + 1;
}
tapi untuk yang FooTwo
mungkin terlihat seperti
-(int)bar:(int)n {
return n + 2;
}
(Saya harap saya memiliki hak sintaksis; sudah lama sejak saya terakhir menyentuh Objective-C.)
Ketika Anda mengirim pesan, kernel Objective-C mengirimkan pesan foo
yang memutuskan apakah ia memahami pesan tersebut. Ia memutuskan ini berdasarkan apakah ia dapat menemukan metode yang diidentifikasi oleh pemilih itu.
Dua metode dengan nama yang sama, dan satu pesan.
Mungkin juga untuk objek hanya meneruskan pesan tertentu (atau serangkaian pesan) ke objek lain untuk diproses. Dalam hal ini, Anda mengirim pesan ke objek proxy ini, yang tidak memiliki metode untuk mencocokkan pesan itu , dan proxy meneruskan pesan ke objek yang dibungkus.