এক্সকোড কেবল সি এবং অবজেক্টিভ-সি কোডটি রিফ্যাক্টর করতে পারে। এক্সকোড 6 এ কীভাবে সুইফ্ট ক্লাসের নাম পরিবর্তন করবেন?


103

আমি এক্সকোড 6 বিটা সংস্করণে একটি নতুন সিঙ্গেল ভিউ অ্যাপ্লিকেশন প্রকল্প তৈরি করেছি। আমি সুইফ্ট ক্লাসের নাম থেকে ViewController.swiftঅন্য কোনও নাম রাখতে চাই। তবে আমি যখন রিফ্যাক্টর -> পুনর্নামকরণ নির্বাচন করি তখন এটি ত্রুটি দেয় Xcode can only refactor C and Objective-C code

এখানে চিত্র বর্ণনা লিখুন

এক্সকোড 6 এ কীভাবে সুইফ্ট ক্লাসটির নামকরণ করবেন কোনও ধারণা?

হালনাগাদ:

অবশেষে এক্সকোড 9 সুইফটের জন্য রিফ্যাক্টরিং সমর্থন করছে। এই প্রাথমিক বৈশিষ্ট্যটি যুক্ত করতে অ্যাপলকে 3 বছর সময় লেগেছে। refactoring


9
বর্তমানে কেউ নেই। একটি বাগ ফাইল করুন
jtbandes

19
এক বছর ধরে এটি জিজ্ঞাসা করার পরে, একমাত্র উত্তর এখনও ম্যানুয়াল অনুসন্ধান এবং প্রতিস্থাপন! অবিশ্বাস্যরূপে অ্যাপলের পিছনে, এটি কোনও আইডিইর জন্য একটি প্রাথমিক এবং প্রয়োজনীয় বৈশিষ্ট্য
হুগহোগটোটল

1
অ্যাপকোড এই রিফ্যাক্টরিংটি সম্পন্ন করতে পারে। এটি আপনার ক্লাসের জন্য কোনও .swiftফাইলে সংজ্ঞায়িত হওয়ার জন্য একটি দ্বি-পদক্ষেপ প্রক্রিয়া হবে। 1. শ্রেণীর নাম নির্বাচন করুন এবং রিফ্যাক্টর> পুনর্নবীকরণ করুন । ২. .swiftফাইলটি নির্বাচন করুন এবং রিফ্যাক্টর> পুনরায় নামকরণ করুন
ড্যানিয়েল জাং

5
দু'বছর পরেও !!! প্রয়োগ করা হয়নি ???
মিলাদ ফরিদনিয়া

এটি আসলে
একরকমভাবে

উত্তর:


25

আপনি এক্সকোড 6 এর ডানদিকে ফাইল ইন্সপেক্টরটিতে কোনও শ্রেণির নাম পরিবর্তন করতে পারেন।

  • আপনার ক্লাস খুলুন
  • ফাইল ইন্সপেক্টর> শনাক্ত করুন এবং বিভাগে যান
  • "নাম" ক্ষেত্রে বিদ্যমান শ্রেণীর নাম পরিবর্তন করুন।

এখানেই শেষ! পূর্বে আমি ম্যানুয়ালি ক্লাস ফাইলে ক্লাসের নামটির নামকরণ করি।


11
উত্তরের জন্য ধন্যবাদ, তবে এটি কেবল ফাইল কাঠামোয় শ্রেণীর নাম পরিবর্তন করে। আমাকে এখনও কোডের যে কোনও জায়গায় আমার শ্রেণীর নামটির সমস্ত দৃষ্টান্ত পরিবর্তন করতে হবে। যেখানে রিফ্যাক্টর-> পুনঃনামকরণ ব্যবহার করে ... ফাইলের কাঠামোর পাশাপাশি কোডেও নাম পরিবর্তন করতে ব্যবহৃত হয়।
খাওয়ার

সমস্যা নেই! অ্যাপল এই সমস্যাটি নিয়ে কিছু না করা পর্যন্ত আমি এটির এক ধরণের সমাধান মনে করেছি। আপনি সেই দিন পর্যন্ত ফাইন্ড এবং রিপ্লেস ফাংশনটি ব্যবহার করতে পারেন। রিফ্যাক্টরে নির্মিত কোনও ক্ষেত্রে-> পুনর্নামকরণ প্রায় একই কাজ করে।
নিউওন

1
@ নিউউন এটি একই জিনিস করে না। উদাহরণস্বরূপ, সন্ধান করুন এবং প্রতিস্থাপন স্ট্রিংগুলির অভ্যন্তরে অনুসন্ধান করবে এবং রিফ্যাক্টর-> পুনঃনামকরণ এটি করা উচিত নয়।
মার্টিন অ্যাপসজ

15

আমি প্রকল্পে সন্ধান করুন> অনুসন্ধান করুন এবং প্রতিস্থাপন ব্যবহার করে আসছেন , এটি নিখুঁত নয় তবে এটি কার্যকর।


12

আমি এইভাবে ব্যবহার করি:

  • আপনি যে পরিবর্তনশীলটির নাম পরিবর্তন করতে চান তাতে কার্সারটি অবস্থান করতে পারেন
  • সম্পাদক নির্বাচন করুন - স্কোপে সমস্ত সম্পাদনা করুন (^ ⌘E)
  • পরিবর্তনশীলটির নাম পরিবর্তন করুন এবং স্বয়ংক্রিয়ভাবে সমস্ত পরিবর্তনশীল উপস্থিতি সম্পাদনা

এটি সাহায্য করে। আমি অবাক হয়েছি যে আমি এতো দিন মিস করেছি !! :]
hdsenevi

1
এটি কেবল ক্ষেত্রের মধ্যে কাজ করে, অর্থাত্ আইআইআরসি ফাইল জুড়ে নয়।
স্টিভ মোজার

10

এই টিউটোরিয়াল থেকে।

আপনার আইওএস 8 সুইফট কোডটি আলাদা করুন

প্রথম জিনিসগুলি, আসুন আমাদের ভিউ কন্ট্রোলারটির নাম পরিবর্তন করে আরও কিছু অর্থপূর্ণ। আপনার ভিউকন্ট্রোল.আর সুইফ্ট ফাইলটি খুলুন এবং আমাদের নতুন নাম, 'অনুসন্ধানেরসাল্টভিউভিউ কনট্রোলার' দিয়ে 'ভিউকন্ট্রোলার'-এর সমস্ত রেফারেন্স প্রতিস্থাপন করুন। ফাইলটি পুনরায় নামকরণ করুন অনুসন্ধানের ফলাফলগুলি ভিউকন্ট্রোলআর সুইফটে।

আপনি যদি এখান থেকে অ্যাপটি চালানোর চেষ্টা করেন তবে আপনি ক্র্যাশ পাবেন। নতুন ক্লাস সম্পর্কে জানার জন্য আমাদের স্টোরিবোর্ড ফাইলটি আপডেট করা হয়নি কারণ এটি! সুতরাং মেইন.স্টোরিবোর্ডটি খুলুন, দৃশ্যে আপনার 'দেখুন কন্ট্রোলার' অবজেক্টটি নির্বাচন করুন (বাম দিকের এনএভি), এবং তারপরে পরিচয় পরিদর্শক (ডানদিকে, তৃতীয় বোতামটি) নির্বাচন করুন)

এখান থেকে ক্লাসটি 'ভিউকন্ট্রোলার' থেকে 'অনুসন্ধানের ফলাফলগুলি ভিউকন্ট্রোলার' এ পরিবর্তন করা যাক। এখন আমাদের ফিরে আসা উচিত। প্রকল্পটি এখনও কাজ করে আছে তা পরীক্ষা করে দেখুন এবং এগিয়ে চলুন।


উত্তর দেওয়ার জন্য ধন্যবাদ. আমি ইতিমধ্যে এই পদ্ধতিটি পরীক্ষা করে দেখেছি। তবে এটি ভাল উপায় বলে মনে হয় না। যদি আমি 10 ক্লাসে ভিউকন্ট্রোলআর সুইফট অবজেক্টগুলি ব্যবহার করি তবে আমাকে সমস্ত শ্রেণিতে ম্যানুয়ালি তাদের নামকরণ করতে হবে। সময়ের জন্য এত বেশি বেদনাদায়ক এবং অপচয় :(
খাওয়ার

@ খয়ার- হ্যাঁ আপনি ঠিকই বলেছেন, তবে এখন অন্য কোনও বিকল্প নেই এবং তাও সম্ভবত বিটাতে রয়েছে। এটি নিয়ে চিন্তা করবেন না .. আশা করি আপেল তখন আরও একটি সহজ উপায় খুঁজে পাবে (উদ্দেশ্য সি ???) :)
আইপ্যাটেল

1
আমি সংস্করণ 7.2 (7C68) এ আছি এবং পুনরায় নামকরণের রিফ্যাক্টরিং এখনও সম্ভব নয়
বারবারা আর

7.3 এ এটিও সম্ভব নয়।
ম্যানিয়াচ্যাম্প


2

এক্সকোড 9

এক্সকোড 9 এখন সুইফটে নতুন নামকরণকে সমর্থন করে। এটি ডাব্লুডাব্লুডিসি 2017 সালে ঘোষণা করা হয়েছিল।

এখানে চিত্র বর্ণনা লিখুন


আপনাকে ধন্যবাদ, অ্যাপলকে ধন্যবাদ, তবে নাম পরিবর্তন করা এখনও কার্যকর হয় না। এখন এটি Xcode ক্র্যাশ করছে।
কিসিলানো

সত্য ... সংস্করণ 9.0 বিটা অনুসারে, নাম পরিবর্তন করা Xcode ক্র্যাশ করে। তবে এটি ভবিষ্যতে কাজ করার কথা ছিল , যখনই তা হতে পারে :)
গাই দাহের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.