আমি আমার প্রকল্পের উত্স কোডটি সুইফট 3 থেকে সুইফট 4 এ রূপান্তর করার চেষ্টা করছি One একটি সতর্কতা এক্সকোড আমার নির্বাচকদের সম্পর্কে।
উদাহরণস্বরূপ, আমি নিয়মিত নির্বাচক ব্যবহার করে একটি বোতামে একটি লক্ষ্য যুক্ত করেছি:
button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside)
এটি সতর্কতা এটি দেখায়:
'# নির্বাচক' এর যুক্তিটি 'ভিউকন্ট্রোলার'-এ' মেইকশন () 'উদাহরণ হিসাবে উল্লেখ করে যা সুইফট 4-এ অবনতিযুক্ত' @objc 'বৈশিষ্ট্য অনুকরণের উপর নির্ভর করে
উদ্দেশ্যমূলক-সিটিতে এই উদাহরণ পদ্ধতিটি প্রকাশ করতে '@objc' যুক্ত করুন
এখন, Fix
ত্রুটি বার্তাকে আঘাত করা আমার ফাংশনটিতে এটি করে:
// before
func myAction() { /* ... */ }
// after
@objc func myAction() { /* ... */ }
@objc
চিহ্নটি অন্তর্ভুক্ত করার জন্য আমি আমার সমস্ত ক্রিয়াকলাপের নাম পরিবর্তন করতে চাই না এবং আমি ধরে নিচ্ছি যে এটি প্রয়োজনীয় নয়।
অবচয়কে হ্রাস করার জন্য আমি কীভাবে নির্বাচককে পুনর্লিখন করব?
সম্পর্কিত প্রশ্ন:
@objc
? এটি কিছুটা বিরক্তিকর, তবে আমি সাধারণত এই ফাংশনগুলি ব্যক্তিগত করি, @objc
যাইহোক এটি আমাকে যেভাবেই চিহ্নিত করতে হবে ।
@objcMembers
যাতে ওবজ-সি এর সাথে সমস্ত ওবিজে-সি সামঞ্জস্যপূর্ণ সদস্যদের প্রকাশ করা যায়, তবে আমি আপনাকে উপদেশ দেব না যদি না আপনি সত্যিকার অর্থে আপনার পুরো ক্লাসটি উন্মুক্ত করার প্রয়োজন হয় না।
@objc
হয় যাতে তাদের OBJ-C এক্সপোজ, সেইজন্য এবং নির্বাচকরা সঙ্গে ব্যবহার করার জন্য এখন প্রয়োজনীয়।