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 bazke objek foo. Anda bisa mengirim pesan itu ke banyak objek berbeda.
Sebaliknya, metode bar: untuk Foomungkin terlihat seperti
-(int)bar:(int)n {
return n + 1;
}
tapi untuk yang FooTwomungkin 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 fooyang 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.