ข้อความคือชื่อของตัวเลือกและพารามิเตอร์สำหรับตัวเลือกนั้น
ตัวเลือกเป็นสัญลักษณ์
วิธีการคือชิ้นส่วนของรหัสในชั้นเรียนที่ระบุโดยตัวเลือก
กล่าวอีกนัยหนึ่ง[foo bar: baz]
ว่า "ส่งข้อความที่เรียก@selector(bar:)
พร้อมกับพารามิเตอร์baz
ไปยังวัตถุfoo
คุณสามารถส่งข้อความนั้นไปยังวัตถุต่าง ๆ มากมาย
ในทางตรงกันข้ามวิธีการ bar:
ของ a Foo
อาจดูเหมือน
-(int)bar:(int)n {
return n + 1;
}
แต่สำหรับFooTwo
อาจดูเหมือน
-(int)bar:(int)n {
return n + 2;
}
(ฉันหวังว่าฉันมีไวยากรณ์ที่ถูกต้องมันไม่นานหลังจากที่ฉันได้สัมผัสกับ Objective-C)
เมื่อคุณส่งข้อความเคอร์เนล Objective-C จะส่งข้อความfoo
ที่ตัดสินใจว่าเข้าใจข้อความหรือไม่ มันตัดสินใจโดยพิจารณาจากว่าสามารถค้นหาวิธีการที่ระบุโดยตัวเลือกนั้นหรือไม่
สองวิธีที่มีชื่อเดียวกันและหนึ่งข้อความ
นอกจากนี้ยังเป็นไปได้ที่วัตถุจะส่งต่อข้อความเฉพาะ (หรือชุดข้อความ) ไปยังวัตถุอื่นเพื่อการประมวลผล ในกรณีนี้คุณส่งข้อความไปยังวัตถุพร็อกซีนี้ซึ่งไม่มีวิธีการจับคู่ข้อความนั้นและพร็อกซีส่งต่อข้อความไปยังวัตถุที่ถูกห่อ