পদ্ধতির নাম পরিবর্তন করা

উদ্দেশ্যCName টীকা

আপনি @ObjectiveCName এর সাথে যেকোন জাভা পদ্ধতি টীকা করতে পারেন সেই পদ্ধতির অনুবাদিত নাম পরিবর্তন করতে এবং যে কোন পদ্ধতি এটিকে ওভাররাইড করে। উদাহরণ স্বরূপ:

@ObjectiveCName("setTimeWithHours:minutes:seconds:")
public void setTime(int hours, int minutes, int seconds) {
  ...
}

এইভাবে অনুবাদ করা হয়:

- (void)setTimeWithHours:(jint)hours
                 minutes:(jint)minutes
                 seconds:(jint)seconds;

ম্যাপিং ফাইল

--mapping পতাকা ব্যবহার করে পদ্ধতির নাম পরিবর্তন করা যেতে পারে, যা ব্যবহার করার জন্য ম্যাপিং সহ একটি বৈশিষ্ট্য ফাইল নেয়। প্রতিটি পদ্ধতি ম্যাপিং কী এর জন্য সম্পূর্ণ জাভা পদ্ধতি স্বাক্ষর এবং একটি উদ্দেশ্য-সি নির্বাচক মান দিয়ে সংজ্ঞায়িত করা হয়। উদাহরণস্বরূপ, NSObject.isEqual: এ Object.equals() ম্যাপ করার লাইন হল:

java.lang.Object.equals(Ljava/lang/Object;)Z = isEqual:

বাম হাতের ঘোষণা হল সম্পূর্ণ পদ্ধতির স্বাক্ষর, যা জাভা ভার্চুয়াল মেশিন স্পেসিফিকেশন দ্বারা সংজ্ঞায়িত করা হয়েছে । ডান হাতের সংজ্ঞাতে রয়েছে iOS নির্বাচক (অর্থাৎ আপনি @selector() কে যা পাস করবেন)। পদ্ধতি এবং এর ম্যাপিং-এ একই সংখ্যক পরামিতি থাকতে হবে।

অন্য উদাহরণ হিসাবে, এই লাইনটি পূর্ববর্তী বিভাগে উদাহরণের সমতুল্য:

pkg.ClassName.setTime(III)V = setTimeWithHours:minutes:seconds:

--mapping বিকল্প ব্যবহার করে কমান্ড-লাইনে অতিরিক্ত ম্যাপিং ফাইলগুলি নির্দিষ্ট করা যেতে পারে।