একটি বার্তা একটি নির্বাচকের নাম এবং সেই নির্বাচকটির পরামিতি।
একটি নির্বাচক একটি প্রতীক।
একটি পদ্ধতি নির্বাচক দ্বারা চিহ্নিত শ্রেণিতে কোডের একটি অংশ।
অন্য কথায়, [foo bar: baz]" @selector(bar:)প্যারামিটার সহ কল করা বার্তাটি bazবস্তুটি প্রেরণ করুন says fooআপনি সেই বার্তাটি বিভিন্ন বিভিন্ন বস্তুর কাছে প্রেরণ করতে পারেন could
বিপরীতে, একটি পদ্ধতি bar: জন্য Fooচেহারা মত হতে পারে
-(int)bar:(int)n {
return n + 1;
}
তবে একটি FooTwoচেহারা মত হতে পারে
-(int)bar:(int)n {
return n + 2;
}
(আমি আশা করি আমার সিনট্যাক্সটি ঠিক আছে; আমি অবজেক্টিভ-সি স্পর্শ করে কিছুক্ষণ হয়ে গেলাম।)
আপনি যখন বার্তাটি প্রেরণ করেন, অবজেক্টিভ-সি কার্নেল বার্তাটি প্রেরণ করে fooযা ম্যাসেজটি বোঝে কিনা তা স্থির করে। এটি নির্বাচক দ্বারা চিহ্নিত কোনও পদ্ধতি খুঁজে পেতে পারে কিনা তার ভিত্তিতে এটি সিদ্ধান্ত নেয়।
একই নাম সহ দুটি পদ্ধতি এবং একটি বার্তা।
কোনও অবজেক্টের পক্ষে প্রক্রিয়াজাতকরণের জন্য কোনও নির্দিষ্ট বার্তা (বা বার্তাগুলির সেট) কেবল অন্য বস্তুর কাছে ফরোয়ার্ড করাও সম্ভব। এই ক্ষেত্রে, আপনি এই প্রক্সি অবজেক্টটিতে একটি বার্তা প্রেরণ করুন, যার সেই বার্তাটি মেলানোর কোনও পদ্ধতি নেই এবং প্রক্সিটি তার মোড়ানো বস্তুটিতে বার্তাটি ফরওয়ার্ড করে।