এক্সকোড - কীভাবে 'এনএসইউনডোনকিকি এক্সসেপশন' ঠিক করবেন, কারণ:… এই ক্লাসটি কী এক্স এর ত্রুটির জন্য মূল মান কোডিং-সম্মতিযুক্ত নয়?


1172

আমি আমার ক্লাসে তৈরি একটি UILabelসাথে লিঙ্ক দেওয়ার চেষ্টা করছি IBOutlet

আমার অ্যাপ্লিকেশনটি নিম্নলিখিত ত্রুটির সাথে ক্রাশ হচ্ছে।

এটার মানে কি?

আমি কীভাবে এটি ঠিক করতে পারি?

*** অপ্রয়োজনীয় ব্যতিক্রম 'এনএসইউনডিনকিকি এক্সসেপশন' এর কারণে অ্যাপ্লিকেশনটি সমাপ্ত করা হচ্ছে, কারণ: '[<ইউআইভিউকন্ট্রোলার 0x6e36ae0> সেটভ্যালু: forUndefinedKey:]: এই ক্লাসটি কী এক্সএক্সএক্সের মূল মান কোডিং-অনুসারী নয়' '


11
পেড্রোটরেস ঠিক আছে। হ্যাঁ এটা ঠিক। আপনি যদি কোনও ইউআইটিএবলভিউসেল করছেন, তবে আইবিতে আপনার ফাইলটি এনএসওবজেক্টে, এবং আপনার সংজ্ঞায়িত .h শ্রেণিতে ইউআইটিএবলভিউসেল'ক্ল্যাশ তৈরির কথা মনে আছে।
জিউসেপে

3
যখন আপনি এই ধরণের একটি প্রসঙ্গের সম্মুখীন এবং আপত্তিকর কী একটি হল কর্ম বদলে একটি নালী তারপর সম্ভবত আপনি একটি আছে নালী ভুল করে আপনার রেফারেন্স যা কর্ম ফাংশন নাম আপনার পরিবর্তে নালী পরিবর্তনশীল নাম।
অ্যালেক্স ইউরশা

2
আপনার লক্ষ্য করা উচিত যে ত্রুটি বার্তায় কীটির নামটি (ওপি এটি 'XXXX' বলছে) আপনার নিব ফাইলের কোনও কিছুতে আপনি যে নামটি দিয়েছেন। এটি আপনার অনুসন্ধানকে সঙ্কুচিত করতে সহায়তা করবে।
ক্রিস

আমি রডার দায়ের করেছি: // 22105925 অ্যাপলকে বিল্ড সময়ে এই ত্রুটিগুলি আরও সুস্পষ্ট করতে বলছে। :)
jtbandes

কীভাবে সমস্যাটি তাত্ক্ষণিকভাবে সমাধান করুন! stackoverflow.com/a/13812660/294884 চমত্কার টিপ
ফ্যাটি

উত্তর:


980

আপনার এক্সবিতে আপনার ভিউ কন্ট্রোলারের ভুল ক্লাস থাকতে পারে।

আমি আপনার প্রকল্প ডাউনলোড করেছি।

আপনি যে ত্রুটিটি পাচ্ছেন তা হ'ল

'এনএসউনডোনকি-এক্সেপশন', কারণ: '[<ইউআইভিউকন্ট্রোলার 0x3927310> সেটভ্যালু: forUndefinedKey:]: এই স্ট্রিংটি মূল স্ট্রিংয়ের জন্য মূল মান কোডিং-অনুসারী নয়' '

পরিবর্তে ক্লাস থাকার ক্ষেত্রে Secondভিউ কন্ট্রোলারের কারণে MainWindow.xibএটি UIViewControllerঘটেSecondView । সঠিক শ্রেণিতে পরিবর্তন সমস্যার সমাধান করে।

যাইহোক, অবজেক্টিভ-সিতে "স্ট্রিং" এর মতো নাম রাখা খারাপ অভ্যাস। এটি একটি রানটাইম নামকরণের সংঘাতকে আমন্ত্রণ জানায়। এমনকি একবারে অনুশীলন অ্যাপ্লিকেশনগুলিকে এড়িয়ে চলুন। নামকরণের সংঘর্ষগুলি ট্র্যাক করা খুব কঠিন হতে পারে এবং আপনি সময় নষ্ট করতে চান না।

এই ত্রুটির আরও একটি সম্ভাব্য কারণ: যখন একটি নিয়ামক থেকে অন্যটিকে উপাদানগুলিকে অনুলিপি করে আটকানো হয়, এক্সকোড কোনওভাবেই এই লিঙ্কটিকে মূল নিয়ামকের সাথে রাখে, এমনকি এই উপাদানটিকে নতুন নিয়ামকটিতে সম্পাদনা করে আবার যুক্ত করার পরেও।

এই ত্রুটির আরও একটি সম্ভাব্য কারণ:

খারাপ আউটলেট।

আপনি হয় আপনার একটি আউটলেট নাম মুছে ফেলেছেন বা নাম পরিবর্তন করেছেন.h ফাইলের ।

এটিতে .xibবা .storyboardফাইলের সংযোগ পরিদর্শককে সরান ।

আরও একটি সম্ভাব্য কারণ

(আমার ক্ষেত্রে) বাইন্ডেবল বৈশিষ্ট্যগুলির সাথে ইউআইভিউয়ের সম্প্রসারণ এবং b বাইন্ডেবল বৈশিষ্ট্যগুলির জন্য মান নির্ধারণ (যেমন ছায়া, কোণার ব্যাসার্ধ ইত্যাদি) তারপরে সেই বৈশিষ্ট্যগুলি ইউআইভিউ এক্সটেনশন থেকে সরান (কোনও কারণে) তবে নিম্নলিখিতটি <userDefinedRuntimeAttributes>এক্সএমএল (এর foo.storyboard) এ রয়ে গেছে :

<userDefinedRuntimeAttributes>
  <userDefinedRuntimeAttribute type="color" keyPath="shadowColor">
      <color key="value" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="number" keyPath="shadowOpacity">
      <real key="value" value="50"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="point" keyPath="shadowOffset">
      <point key="value" x="5" y="5"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="number" keyPath="shadowRadius">
      <real key="value" value="16"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="number" keyPath="borderWidthValue">
      <real key="value" value="0.0"/>
  </userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>

সমাধান: সোজা foo.storyboardকোড হিসাবে খুলুন> কীপথ দ্বারা অনুসন্ধান (যেমন শ্যাডো রেডিয়াস) এ ডান ক্লিক করুন > </userDefinedRuntimeAttributes>সমস্যাটির কারণ মুছে দিন


9
নীবের "ভিউ" আউটলেটটি ফাইলের মালিকের ভিউ আউটলেটে সংযুক্ত করতে ভুলবেন না (আপনার কাস্টম শ্রেণীর ভিউ আউটলেটটি ইউআইভিউকন্ট্রোলার থেকে উত্তরাধিকার সূত্রে প্রাপ্ত)। "প্লেস হোল্ডার্স" এর অধীনে "অবজেক্টস" এর অধীনে "ভিউ" তে "ফাইলের মালিক" থেকে টেনে নিয়ে ভিউ আউটলেটটি নির্বাচন করে এটি করা যেতে পারে।
নির্মা

1
আমি নিশ্চিত করেছি যে সমস্ত ক্লাস ইতিমধ্যে সেট করা আছে, তবে এনএসইউনঅান্নডকি কি এক্সেক্সশন এখনও বেরিয়ে এসেছে :(
জেনিচিমাড়ো

1
আমি এমনকি ইন্টারফেস বিল্ডারও ব্যবহার করছি না এবং আমি এখনও এই ত্রুটিটি পাচ্ছি। কোন ধারণা কি হচ্ছে?
সুডো

12
কিছু মনে করো না. এটি দুটি জিনিসের কারণে হয়েছিল: এক্সকোডটি এখনও আমার মূল স্টোরিবোর্ডটি অ্যাক্সেস করছে যদিও এটি প্রকল্প থেকে সরানো হয়েছিল, এবং সিমুলেটরটি এটি ক্যাশে করেছিল। আমি স্টোরিবোর্ড বা এনআইবি ব্যবহার করে অত্যন্ত প্রস্তাব দিয়েছি - তারা হাস্যকরভাবে সমস্যাযুক্ত।
সুডো

5
@ জোশ লোল আমি যতবারই এক্সকোডে নেটিভ অ্যাপ্লিকেশন তৈরি করার অনুপ্রেরণাটি নিয়ে কাজ করি এটি সবসময় আমার সাথে কোনও দিন কীভাবে কীভাবে করা যায় তা বের করার চেষ্টা করে ব্যয় করে শেষ হয়। আমি AC # দেব তাই আমি ইদানীং Xamarin এবং Telerik (নেটিস স্ক্রিপ্ট) এর অফার খুঁজছি।
মাফিন ম্যান

1524

আপনার এক্সিবায় আপনার খারাপ সংযোগ থাকতে পারে।

আমি অনেকবার এই ত্রুটি করেছি। যদিও এই ক্ষেত্রে টেকজেনের উত্তর একেবারে সঠিক, আপনি যখন আইবিউটলেট সম্পত্তির নাম পরিবর্তন করেন তখন আর একটি সাধারণ কারণ হয় is নিজের .h / যা আপনি ইতিমধ্যে ফাইলের মালিকের সাথে সংযুক্ত হয়ে ।

আপনার নিব থেকে:

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

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

আরেকটি সাধারণ কারণ আপনি যদি স্টোরিবোর্ড ব্যবহার করেন তবে আপনার ইউআইবাটনের আরও একটি অ্যাসাইনমেন্ট থাকতে পারে (সমাধান প্রায় নীবের মতোই):

  1. আপনার স্টোরিবোর্ডটি খুলুন এবং UIButton এ ডান ক্লিক করুন
  2. আপনি দেখতে পাবেন যে এই বোতামটিতে একাধিক এসাইন / রেফ রয়েছে। ছোট "এক্স" দিয়ে একটি "প্রধান ..." গ্রেড উইন্ডো সরান:

    উদাহরণ 2


1
ধন্যবাদ! আমার ক্ষেত্রে আমার একই দৃষ্টিভঙ্গির জন্য 2 টি আউটলেট ছিল এবং পুরাতনটি থেকে মুক্তি পেয়ে ভিউটিকে নতুনটির সাথে আঁকিয়ে ধরতে ব্যতিক্রমটি শেষ হয়েছিল।
মার্ক প্যাটারসন

আমার দুবার নকল হয়েছিল আমি অন্য প্রোজেক্টের সংযোগগুলিতে ঝুলছে এই ভেবে প্রো প্রো সংস্করণটি (একটি লাইট সংস্করণ থেকে) টেনে নিয়ে যাওয়ার পরে আমি একে অপরের সংযোগ বিচ্ছিন্ন করতে শুরু করি। আমি যখন সদৃশটি পেরিয়ে এসেছি এবং সংযোগ বিচ্ছিন্ন করতে এটিতে 3 টি ক্লিক লেগেছিল, আমি আন্তরিকভাবে কামনা করি যে আমি 3 দিন আগে এটি করেছি done ওহ ভাল - যেমন একটি দেবের জীবন।
aremvee

আমার সমস্যা ছিল যে ইউআইবাটনটির একাধিক অ্যাসাইনমেন্ট ছিল। এটি আমার সমস্যা সমাধান করেছে।
পৌরাণিক

আমারও এই সমস্যা ছিল শুধুমাত্র তদারকির পরিবর্তে নির্দিষ্ট দর্শনগুলিতে আউটলেট সংযোগগুলি পরীক্ষা করতে ভুলবেন না। আমার ক্ষেত্রে, সুপারভিউগুলি ভুল সংযোগগুলি প্রদর্শন করছে না = /
কারমো

আমার অনুরূপ ত্রুটি হয়েছিল যেখানে আমি একটি ভুল
ভিউ কন্ট্রোলার

114

এই ত্রুটি থেকে মুক্তি পেতে আমাকে সিমুলেটর / আইফোন থেকে অ্যাপটি মুছতে হয়েছিল।


1
এটি আমার জন্য এটি +1 করে দিয়েছে। আমি এমন কিছু কোড সাফ করছিলাম যা আইবি ব্যবহার করেছিল। আমি যখন কোড থেকে একটি বোতাম মুছলাম তখন ত্রুটিটি পপিং করতে থাকবে এমনকি যখন এই বোতামটি নিব ফাইলগুলিতে মোটেই রেফারেন্স করা হয়নি (অন্তত আমি দেখতে পেলাম)।
রবিবার সোমবার

2
আমি মনে করি এটি প্রয়োজনীয় যদি আপনি একই নামের সাথে দুটি অ্যাপ্লিকেশন ডিবাগ করেন তবে।
আন্তন

হ্যাঁ, মনে হচ্ছে XIB থেকে কিছু সিমুলেটারে ক্যাশে হয়েছে, যা আপনি যদি আপগ্রেডগুলি পরীক্ষা করে থাকেন তবে ব্যথা হ'ল আপনি আসলে পুরানো অ্যাপটিকে মুছতে চান না।
কার্লোস পি

আমার এক্সআইবি ফাইলটি মুছতে আমার এই সমস্যা হয়েছিল। এটি সমস্যার সমাধান করেছে।
বালবোয়া

4
যদি মুছে ফেলা অ্যাপটি কাজ না করে তবে এক্সকোড ডেরিভডডাটা ফোল্ডারটি মুছতে চেষ্টা করুন। যা একটি ভুল xib ফাইল ক্যাশে করতে পারে। এক্সকোড খুলুন -> পছন্দ -> অবস্থান -> ডেরিভডডেটা ফোল্ডারটি খুলুন এবং এটিকে ট্র্যাশে টেনে আনুন।
ফিলিপ ফাং 21

107

আমি যখন একটি টেবিলের জন্য কাস্টম ভিউসেল প্রয়োগ করার চেষ্টা করছিলাম তখন আমার এই ত্রুটি হয়েছিল। আমি যখন XIB- এর জন্য View কন্ট্রোলারটি হাইলাইট করেছি এবং সেলভিউয়ের উপাদানগুলির সাথে সংযুক্ত হয়ে ত্রুটির কারণ হয়েছি "এই শ্রেণিটি কীটির জন্য কী মান কোডিং-সম্মতিযুক্ত নয়" একবার আমি এইগুলি মুছলে এটি ত্রুটি থেকে মুক্তি পেয়ে যায়।

নীচের চিত্রের সংযোগগুলি মুছুন। ফাইলের মালিককে হাইলাইট করা হলে পরিদর্শকগুলিতে সংযোগগুলি মুছুন

কেবলমাত্র টেবিল ভিউ সেলের সাথে আপনার সংযোগ রয়েছে তা নিশ্চিত করুন। টেবিল ভিউ সেলটিতে ক্লিক করুন এবং ইনস্পেক্টরটিতে আপনার সংযোগগুলি দেখুন।

টেবিল ভিউ সেলটি হাইলাইট করা হলে সংযোগটি এখানে থাকা উচিত


4
এটি আমার জন্য এটি করেছে, অনেক ধন্যবাদ। বাম কলামে "ফাইলের মালিক" নির্বাচিত হওয়ার পরে আমি সংযোগগুলি আউট করব, তারপরে আমার কাস্টম সেলটি নির্বাচন করে সেগুলিতে পুনরায় সংযুক্ত হয়েছি। সফল!
রোগারে 21

এমনকি xcode7 দিয়েও এটি কাজ করে, ডান প্যানেলটি "সংযোগ পরিদর্শক" ব্যবহার করুন। টেবিলভিউসেল এবং লেবেল থেকে আউটলেট সরান, তারপরে এটি পুনরায় যুক্ত করুন এবং সমস্ত কিছু কাজ করা উচিত।
Lifeisfoo

3
এটি কাজ করে তবে আপনাকে ফাইলওয়ানার সেট না হয়ে গেছে তা নিশ্চিত করা দরকার !! ফাইলের মালিককে এনএসবজেক্ট থাকা উচিত। stackoverflow.com/questions/13793162/...
devjme

একই উত্তরটি আমাকে দু'বার বাঁচাল!
wm.p1us

98

কখনও কখনও এটি আপনার "টার্গেট থেকে উত্তরাধিকার" এর সাথে সম্পর্কযুক্ত যে মানটি সেট করতে হবে। একক লক্ষ্য অ্যাপ্লিকেশন সহ আপনি কেবলমাত্র লক্ষ্য থেকে উত্তরাধিকার নির্বাচন করতে পারেন। আপনার যদি আরও বেশি থাকে তবে একটি লক্ষ্য পছন্দসই লক্ষ্য নির্বাচন করুন।

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


এই উত্তরটি একটি নির্দিষ্ট মামলার জন্য আমাকে সহায়তা করেছিল। আমাকে একাধিক লক্ষ্য নিয়ে পুরানো ইজেজে-সি প্রকল্পে কাজ চালিয়ে যেতে হবে। আমি সুইফটে একটি কাস্টম ইউআইটিএবলভিউসেল তৈরি করি এবং আমারও একই ত্রুটি হয়েছিল। "টার্গেট থেকে লক্ষ্য" সক্ষম করে এটি কাজ করে। ধন্যবাদ!
মাগোহমোথ

মডিউলটি সর্বদা সঠিকভাবে সেট করা হয় না; উদাহরণস্বরূপ, ক্লাস তৈরির আগে আপনি যদি ক্লাসের নাম পূরণ করেন।
জোহান

আমি শেষে "এন্টার" কী টিপুন না করে ক্লাসের নামটি পূরণ করেছি যাতে IDE এই পতাকাটি স্বয়ংক্রিয়ভাবে চেক করে নি। এই 1 ঘন্টা নষ্ট। ধন্যবাদ.
ম্যাটপ্যাগ

আপত্তি-সি-তে কখনও এই ধরণের ত্রুটির মুখোমুখি হয়নি। তবে ধন্যবাদ রহস্যটির সমাধান করেছেন।
প্রদীপ কাছওয়াহা

এই তৃতীয় পৃষ্ঠায় কেন কবর দেওয়া হচ্ছে?
সেরজিও

65

যদি এটি আইফোনের একমাত্র অ্যাপ্লিকেশন, সর্বজনীন নয়, নিশ্চিত হয়ে নিন যে নীচের ক্ষেত্রটি খালি রয়েছে:

লক্ষ্যসমূহ> সংক্ষিপ্তসার> আইফোন / আইপড ডিপ্লোয়মেন্ট তথ্য> প্রধান ইন্টারফেস

আপনি যদি সেখানে কোনও এক্সিবিকে নির্দিষ্ট করেন তবে এটি ক্র্যাশ হয়।


2
হ্যাঁ, এটা আমার পক্ষে ছিল। নতুন স্টার্টআপ ভিউ কন্ট্রোলার যুক্ত করতে চারপাশে ফ্লাইলিং করার সময় আমি এটিকে নতুন ক্লাস / নিবতে সেট করেছি। ভিউ আউটলেটটি হুক করার পরে আমি এই ত্রুটিটি আঘাত করছি। এই ক্ষেত্রটি সাফ করা এটি স্থির করে।
ভয়ঙ্কর

এটি আমার পক্ষে কাজ করেছে। নোট করুন যে এটি কাজ করার জন্য আমাকে ডিভাইস / সিমুলেটর থেকে পুরানো সংস্করণও মুছতে হয়েছিল।
jimt

ধন্যবাদ - এটি আমার সমস্যা ছিল। আমি আমার আইপ্যাড স্টোরিবোর্ড ফাইলটির নামকরণ করেছি এবং আমার প্রকল্পের প্রিফেসে আপডেট করি নি।
রবার্ট জোসেফ

2
ধন্যবাদ! এটি আমার জন্য এটি সমাধান করেছে। (আমি মূল ইন্টারফেসে ক্ষেত্র পরিবর্তন খালি হতে পরে কাল্পনিক থেকে অ্যাপ মুছে ফেলতে ছিল কেবলমাত্র পরিবর্তন যে ক্ষেত্র ক্যাশে বিরতি কাল্পনিক জোর করা হয়নি।।)
পাখিবিশেষ

আমার মনে আছে আমি সর্বজনীন অ্যাপ থেকে আইফোন অ্যাপ্লিকেশনগুলিতে জিনিসগুলি পরিবর্তন করেছি এবং এটি ত্রুটিটি স্থির করেছে!
জাস্টিন 14

59

এই ত্রুটিটি ইঙ্গিত দেয় যে ইতিমধ্যে সংযুক্ত ইন্টারফেস বিল্ডার অবজেক্টটি তার মালিকের উত্স (ফাইলের মালিক) এ সরিয়ে / পুনরায় নামকরণ করা হয়েছে।

ইন্টারফেস বিল্ডারে ফাইলগুলির মালিককে কন্ট্রোল-ক্লিক করুন যদি আপনি কোনও বিস্মৃত চিহ্ন দেখেন তবে আপনাকে এটি ঠিক করতে হবে।

নীচের ছবিতে আপনি দেখতে পাচ্ছেন যে "এ রেমোভেডভিউ" এর ডানদিকে একটি বিস্ময় চিহ্ন রয়েছে, কারণ এটি আইবিতে সংযুক্ত থাকাকালীন আমি আইবিআউটলেট ভিউ অবজেক্টটি সরিয়েছি।

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

এটি নিম্নলিখিত ত্রুটিটি দেয়: অযথাযুক্ত ব্যতিক্রম 'এনএসইউনডেনকিকি এক্সসেপশন' এর কারণে অ্যাপ্লিকেশনটি সমাপ্ত করা, কারণ: '[সেটভ্যালু: forUndefinedKey:]: এই শ্রেণিটি কী রিমোভডভিউয়ের জন্য মূল মান কোডিং- সম্মতিযুক্ত নয়' '


ধন্যবাদ! এটি আমার জন্য এটি স্থির করে দিয়েছে। আমি দীর্ঘদিন ধরে এই সমস্যাটি নিয়ে আসছি এবং স্ক্র্যাচ থেকে শুরু করার পরিবর্তে কীভাবে এটি ঠিক করতে হয় তা আমি জানতাম না। এটিই ছিল, ভিউ কন্ট্রোলার থেকে আইবিউটলেটগুলি মুছে ফেলা হয়েছিল, তবে তারা জানত না যে তারা এখনও মালিকের সাথে রেফারেন্স / লিঙ্ক হয়েছে (এই ক্ষেত্রে ইন্টারফেস বিল্ডারে "দেখুন কন্ট্রোলার" - এক্সকোড 6)।
ইরা হারমান

41

আমারও একই সমস্যা ছিল এবং যখন টেকজেনের উত্তরটি সত্যিই আশ্চর্যজনক হতে পারে তখন আমার পরিস্থিতিটি প্রয়োগ করা আমার পক্ষে কঠিন মনে হয়েছিল।

অবশেষে আমি ট্যাগ লিঙ্ক মাধ্যমে কন্ট্রোলার অধীন তালিকাভুক্ত দ্বারা সমস্যার সমাধান অবজেক্টস মাধ্যমে বরং তারপর (নীচের ছবিতে হাইলাইট করা) ফাইলটি মালিকের

আশাকরি এটা সাহায্য করবে.

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


37

আমার ক্ষেত্রে এটি স্টোরিবোর্ড উত্স কোডে একটি ত্রুটি ছিল, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. প্রথমে আপনার স্টোর বোর্ডটি উত্স কোড হিসাবে খুলুন
  2. সন্ধান করা <connections>
  3. অযাচিত সংযোগগুলি সরান

উদাহরণ স্বরূপ:

<connections>
    <outlet property="mapPostsView" destination="4EV-NK-Bhn" id="ubM-Z6-mwl"/>
    <outlet property="mapView" destination="kx6-TV-oQg" id="4wY-jv-Ih6"/>
    <outlet property="sidebarButton" destination="6UH-BZ-60q" id="8Yz-5G-HpY"/>
</connections>

আপনি দেখতে পাচ্ছেন, এগুলি হ'ল আপনার কোড ভেরিয়েবলের নাম এবং স্টোরিবোর্ড লেআউট এক্সএমএল ট্যাগের মধ্যে সংযোগগুলি;)


33

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

আমার ফিক্সটি জেরার্ড গ্রান্ডির মতো ছিল। এক্সআইবিবি ব্যবহার করে একটি কাস্টম ইউআইটিএবলভিউসেল তৈরি করার সময়, আমি ভুলভাবে ইউআইটিএবলভিউসিলের পরিবর্তে কাস্টম ক্লাসের নামটি ফাইলের মালিকের কাছে প্রয়োগ করেছিলাম। ক্যানভাসে ইউআইটিএবলভিউসেলকে ক্লাস প্রয়োগ করা এবং এটির সাথে আমার আইবিউটলেট বৈশিষ্ট্যগুলি সংযুক্ত করা সমস্যার সমাধান করেছে।


আইয় দাগ নাব ... বিশ্বাস করতে পারি না আমি কতবার এই ভুল করি। ধন্যবাদ এলওএল
বেনিয়ামিন

31
  1. আপনাকে কেবল IBOutletএকবার নির্দিষ্ট করতে হবে , IBOutletআপনার ivar লেবেলটি অপ্রয়োজনীয়।
  2. আপনি কি আপনার এনআইবি ব্যবহার করে ইনস্ট্যান্ট করছেন UIViewController? কিছু সময় আপনি কল করা উচিত[SecondView initWithNibName:@"yourNibName" bundle:nil];

এই সাহায্য! আমি আলাদা ভিউ কন্ট্রোলারের কোনও সম্পত্তি সম্পর্কে কী-মান কোডিং মেনে চলার ত্রুটি পেয়ে যাচ্ছিলাম। দেখা যাচ্ছে আমি -initWithNibNameভুল নিব নামে ডাকছিলাম।
jlstrecker

হ্যাঁ এটি আমাকেও সহায়তা করেছিল .. আমি মাই কাস্টোমভিউ কনট্রোলারের পরিবর্তে ইউআইভিউ কনট্রোলার ব্যবহার করছিলাম .. তবে এটি হায়ারার্কির মতো সমস্যা হতে পারে .. অনুভূতিটি মিস করা শ্রেণীর বস্তুর কারণে ব্যর্থ হয়েছে .. যাইহোক ধন্যবাদ
ফিউচার

আমারও একি দশা. দুর্ঘটনাক্রমে দুটি অভিন্ন আইবিএક્શન এন্ট্রি। কোডটিতে প্রদর্শিত হয়নি, কেবল ইউআইসিএন্ট্রোলের ডান-ক্লিকে (আমার ক্ষেত্রে একটি ইউআইএসটিপার)। একটি মুছে ফেলা এটি ঠিক করা।
ডেভ হাবার্ড

30

এটি কেবল তখনই ঘটেছিল যখন কোনও ডিভাইস (আইফোন) এ ডিবাগ করার সময়। আইওএস সিমুলেটর ঠিকঠাক কাজ করছিল। এক্সকোড থেকে একটি "পণ্য-> পরিষ্কার" করা সমস্যার সমাধান বলে মনে হয়েছে তবে কেন তা আমার কোনও ধারণা নেই।


এটি আমার সমস্যার সমাধান করে। tsk2x মাথা ব্যথার প্রায় 3 দিন।
ব্যবহারকারী 3818576

5
এটি প্রশ্নের উত্তর সরবরাহ করে। নিব-তে কিছু গণ্ডগোল পেয়েছে এবং একটি পরিষ্কার করায় এটি সমাধান হয়েছে solved আমি উপরের সমস্তটি পড়েছি এবং চেষ্টা করেও কোনও লাভ হয়নি এবং তারপর পরিষ্কার করেছিলাম এবং এটি ঠিক করার 1 ঘন্টা চেষ্টা করার পরে, মেজরের সমাধানটি এটি ঠিক করে দিয়েছে। এক্সএমএলে কী ঘটেছিল তা দেখতে আমি পছন্দ করতাম তবে আমি এগিয়ে চলেছি।
লেভিনসনটেকনোলজিস

এটি প্রকৃতপক্ষে সমস্যার সমাধান করে - আমি উপরে বহু পরামর্শ চেষ্টা করেছি এবং কেবলমাত্র প্রকল্পটি পরিষ্কার করে এই ত্রুটিটি হঠাৎ ঘটতে শুরু করেছিল। Ugg ...
ডাস্টিনবি

এটি আমার সমস্যার সমাধান করে, আমি উপরের পরামর্শগুলির অনেক চেষ্টা করেছি। অদ্ভুত লাগে!
নবীন শান

23

আমার কাছে ঠিক একই ত্রুটি বার্তা ছিল এবং http://www.idev101.com থেকে কিরাকে ধন্যবাদ (!!) আমি চ্যালেঞ্জটি সমাধান করতে সক্ষম হয়েছি। এই সমস্ত থ্রেডে গুগল করা এবং স্ট্যাক করার পরে আমি কেবল তার সাইটটি পেয়েছি। আমি এখন পরেরটির জন্য এখানে পোস্ট করছি যা স্ট্যাকওভারফ্লোতে আসে এবং আমার একই চ্যালেঞ্জ ছিল যেহেতু সেই ব্যক্তি সম্ভবত গুগলের মাধ্যমে এই থ্রেডে আসবে।

আমি বুঝতে পেরেছি যে, আমি ভুলভাবে এটি তৈরি করেছি:

UIViewController *deviceViewController = [[UIViewController alloc] initWithNibName:@"DeviceViewController" bundle:nil];

এর পরিবর্তে:

DeviceViewController *deviceViewController = [[DeviceViewController alloc] initWithNibName:@"DeviceViewController" bundle:nil];

কোথায়

DeviceViewController

আমার ক্লাসের নামটিও পরিচিত ছিল

DeviceViewController.h 
DeviceViewController.m

তোমাকে করতে হবে

"import DeviceViewController.h"

আপনার প্রয়োগে (। মি ফাইল) যেখানে আপনি যেমন অন্য একটি ইউআইভিউকন্ট্রোলার কল করতে চান।

আমি কেবল আমার মতো নতুনদের জন্য সুস্পষ্ট বক্তব্য দিচ্ছি এবং ভোটটি নামতে পারব বলে আমি একেবারেই দু: খিত নই কারণ এটি প্রশ্নের সাথে একেবারেই সম্পর্কিত নয় তবে আমি এই ত্রুটি বার্তার উত্তরের জন্য সোজা এখন 4 (?!) ঘন্টা অনুসন্ধান করছিলাম? । আমি যদি 1 বা 2 জনকে এটি বাঁচাতে পারি যে দুর্দান্ত হতে পারে :)

PS: অন্যান্য ইউআইভিউউকন্ট্রোলার লোড করার জন্য কোড কীভাবে চালিয়ে যেতে আগ্রহী তাদের জন্য:

    [self presentViewController:deviceViewController animated:YES completion:nil];

সমস্ত পদক্ষেপের জন্য ধন্যবাদ, আমি এক্সকোড 5 ব্যবহার করছিলাম এবং কীভাবে ম্যানুয়ালি একটি নিব যুক্ত করতে হবে তা আপনি জানেন না কারণ আপনি কেবলমাত্র ডিফল্টরূপে স্টোরিবোর্ড যুক্ত করতে পারেন .... আমি কিছু নির্দেশ পেয়েছি তবে আপনার মতো বিশদ নয় non সত্যিই সাহায্য করেছে !!
পিটফল

"আমি ভুল করে এটি করেছি ..." ধন্যবাদ, সত্যিই নির্বোধের ভুলের কারণে আমি প্রথম ব্যয় করছি না
tontonCD

23

এটি আপনি যে কোনও আউটলেট বা ক্রিয়া নিয়ন্ত্রণ করে টেনে আনেন এবং তৈরি করেছেন তা থেকে আসতে পারে এবং এটি মুছতে ভুলে গিয়েছিলেন। এমনকি আপনি কোডটি মুছে ফেলেছেন, বা আপনি যথেষ্ট পরিমাণে সিএমডি + জেড তৈরি করেছেন এমন কি, আপনার স্টোরিবোর্ডের সংযোগ পরিদর্শকের কাছেও যেতে হবে এবং আপনার তৈরি করা ক্রিয়া বা আউটলেটটি এখানে এখনও আছে কি নেই তা দেখতে হবে।


ধন্যবাদ! আমি এক্সকোডের একটি n00b এবং দুর্বৃত্ত লিঙ্কগুলি খুঁজতে আমাকে কিছুটা সময় নিয়েছিল। এক্সকোড 9.2 এ, আপনি স্টোরিবোর্ডের ভিউটিতে থাকা উপাদানটিতে ডান ক্লিক করতে পারেন এবং "রেফারেন্সিং আউটলেটগুলি" পরীক্ষা করতে পারেন।
কুনিগামী

21

অন্যান্য উত্তরগুলির খোঁজ করে দেখে মনে হচ্ছে অনেক কিছুই আছে যা এই ত্রুটির কারণ হতে পারে। এখানে আরও একটি।

আপনি যদি

  • একটি কাস্টম ভিউ আছে
  • @IBInspectable সম্পত্তি যুক্ত করেছে
  • এবং তারপরে এটি মুছুন

তারপরে আপনিও এর মতো একটি ত্রুটি পেতে পারেন

(আপনার কাস্টম ভিউ] ... এর উপর নির্ধারিত সম্পত্তি নির্ধারিত (এক্সএক্সএক্স) সেট করতে ব্যর্থ ...: এই শ্রেণিটি মূল [xxx] এর কোড কোডিং-অনুগামী নয় not

সমাধানটি হ'ল পুরানো সম্পত্তি মুছে ফেলা।

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

আপনার শ্রেণীর জন্য পরিচয় পরিদর্শকটি খুলুন, ব্যবহারকারীর সংজ্ঞায়িত রানটাইম গুণাবলী অনুযায়ী সম্পত্তিটির নামটি নির্বাচন করুন এবং বিয়োগ বোতামটি চাপুন (-)।


আমি এই পৃষ্ঠায় প্রায়শই এসেছি ... এবার এই সমাধানটি এটি তৈরি করেছে! তবে মুছে ফেলার পুরানো সম্পত্তিটি ক্র্যাশ হওয়াটির চেয়ে অন্য ভিউকন্ট্রোলারে ছিল বলে অদ্ভুত বলে মনে হচ্ছে কেন এটি আমার কোনও ধারণা নেই।
সিন

15

আমার ভিউ কন্ট্রোলারটিতে মূলত .xib ফাইল থাকলে আমার সাথে এটি ঘটে তবে এখন প্রোগ্রামগতভাবে তৈরি করা হয়েছে।

যদিও আমি এই প্রকল্প থেকে .xib ফাইলটি মুছে ফেলেছি। ব্যবহারকারীরা আইফোন / আইপ্যাডে এই ভিউকন্ট্রোলারের জন্য একটি .xib ফাইল থাকতে পারে।

.Xib ফাইলটি লোড করার চেষ্টা করার ফলে সাধারণত এই ক্রাশ ঘটে:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x18afe0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key welcomeLabel.'

প্রোগ্রামটিমেটিকভাবে তৈরি করার সময় এটি সমাধান হতে পারে:

-(void)loadView {
    // Ensure that we don't load an .xib file for this viewcontroller
    self.view = [UIView new];
}

12

পরিচয় পরিদর্শকের ভিউ কন্ট্রোলারের সম্পত্তি "মডিউল" আপনার প্রত্যাশার চেয়ে আলাদা হতে পারে। আপনার লক্ষ্য তালিকায় নতুন ক্লাস যুক্ত হয়েছে কিনা তাও নিশ্চিত করুন।


এটা আমার ক্ষেত্রে যেমন ছিল তাই ভোটগ্রহণ। আমি সুইফট এবং স্টোরিবোর্ড ব্যবহার করছি। যখন আমি একটি নতুন বিল্ড টার্গেট তৈরি করেছি (একটি বিল্ড বৈকল্প তৈরি করতে) অ্যাপ্লিকেশনটি নতুন ভেরিয়েন্টে কাজ করে না যখন প্রথমটি ঠিক আছে। অ্যাপ্লিকেশনটি একটি ভিউ কন্ট্রোলারের উপর ক্র্যাশ হয়েছিল যেখানে মডিউলটির নামটি প্রথম লক্ষ্য থেকে কোনওভাবে মডিউলটিতে সেট করা হয়েছিল, যখন কাজ করা দেখুন নিয়ন্ত্রকদের ক্ষেত্রে এটি বর্তমান ছিল - <মডিউলটির নাম এখানে> । এই ক্ষেত্রে আপনাকে মডিউলটির নামটি মুছে ফেলতে হবে।
মিকাজাজ

11

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

অর্থাত্ প্রশ্নযুক্ত ইউআইভিউউকন্ট্রোলার শ্রেণিতে সেন্টিমিডি ক্লিক করুন এবং এটি 'লক্ষ্য' ট্যাবে অন্তর্ভুক্ত রয়েছে তা ডাবল-চেক করুন।


9

কেবল এটি যুক্ত করার জন্য, কারণ আমি এই ত্রুটিটিও পাচ্ছিলাম। এই সমস্ত উত্তরগুলির মধ্যে দিয়ে যাওয়া বেশিরভাগই ইউআই এবং স্টোরিবোর্ড স্টাফের সাথে কাজ করার ক্ষেত্রে প্রযোজ্য বলে মনে হয়। আমি জানি যে আসল পোস্টারটি ইউআইয়ের সাথে কাজ করছে বলে মনে হয়েছে তবে এই ত্রুটির সম্ভাব্য কারণগুলির সন্ধান করার সময় বেশিরভাগ প্রশ্নই এই প্রশ্নটিকে আবার ডুপ্লিকেট হিসাবে বন্ধ করে দেওয়া বা স্টোরিবোর্ডে জিনিসগুলি সংযুক্ত করার সাথে সমস্যাযুক্ত হওয়ার কারণে ফিরে আসে I আমার সমাধান যোগ করুন।

আমি সুইফট ২ তে একটি ওয়েব সার্ভিস কোডিংয়ের কাজ করছিলাম আমি প্রয়োজনীয় সমস্ত প্রক্সি অবজেক্ট এবং স্টাবগুলি তৈরি করেছিলাম। ফিরে আসা এক্সএমএলটি লুপ করার সাথে সাথে আমি আমার বস্তুগুলিকে গতিশীলভাবে তাত্ক্ষণিকভাবে চলছিলাম, যা সমস্তগুলি এসেছে NSObjectএবং setValue:forKeyসেগুলি ব্যবহার করে। প্রতিবার setValue:forKeyএকটি সম্পত্তি সেট করার চেষ্টা করা হয়েছিল যা এই ত্রুটিটি দিয়ে ফুরিয়েছে।

আমি প্রতিটি টাইপ আমি (যেমন আচরণ হয়েছিল একটি সুইচ বিবৃতি ছিল Bool?, CShort?, String?) এবং প্রতিটি এক্সএমএল নোড আমি মাধ্যমে গিয়ে চেক করে কি ধরনের বস্তুর উপর ছিলেন এবং তারপর যে ধরনের মান রূপান্তরিত করা হবে এবং সঙ্গে এটি সেট করার চেষ্টা জন্য setValue:forKey

অবশেষে আমি এই সমস্ত setValue:forKeyলাইন মন্তব্য করা শুরু করেছিলাম এবং আমার defaultস্যুইচ স্টেটমেন্ট কেসটি কাজ করেছিল String?

পরিশেষে আমি মূর্ত আউট আপনি করতে পারবেন না সঙ্গে ঐচ্ছিক দ্রুতগতি ধরনের ব্যবহার setValue:forKeyযদি না তারা মত উদ্দেশ্য সি টাইপ একটি সরাসরি ম্যাপিং আছে String?বাNSNumber? । আমি প্রত্যক্ষ ম্যাপিং থাকায় সমস্ত CShort?প্রকারের পরিবর্তন শেষ করেছি NSNumber?। জন্য Bool?আমার ক্ষেত্রে এটা শুধু ব্যবহারের আমার জন্য ছিল জরিমানা Boolএবং এটি আরম্ভ false। অন্যদের মধ্যে সেই বিলাসিতা নাও থাকতে পারে।

যাইহোক, মাথা ব্যথা যা এতটাই আশাবাদী এটি অন্য কাউকে সহায়তা করে যা একইরকম সমস্যা রয়েছে এবং এই প্রশ্নে পুনঃনির্দেশিত হয়ে চলেছে এবং নিজেরাই বলে চলেছে, "আমি ইউআই তে কিছু করছি না!"!

সুতরাং শেষ পর্যন্ত আরও একবার পুনরুক্তি করার জন্য কী-মান কোডিং বিকল্পগুলির সাথে কাজ করে না। নীচে আমি কোথাও খুঁজে পেয়েছি তবে আমি ভুলে গেছি যে কেউ এই পোস্ট করেছে তার জন্য আমি ক্ষমা চেয়ে নিচ্ছি এবং ক্রেডিট দেব যদি আমি মনে করি এটি কোথায় পেয়েছি তবে এটি আমার জীবন রক্ষা করেছে:

আপনি কোনও ptionচ্ছিক অভ্যন্তরীণ বৈশিষ্ট্যে কেভিসি ব্যবহার করতে পারবেন না, কারণ কেভিসি কোকো / অবজেক্টিভ-সি, এবং উদ্দেশ্য-সি কোনও ptionচ্ছিক অভ্যন্তরীণ দেখতে পাবে না - এটি উদ্দেশ্য-সি-তে ব্রিজ করা হয়নি। অবজেক্টিভ-সি কেবলমাত্র এমন প্রকারগুলি দেখতে পারে যা উদ্দেশ্য-সিতে ব্রিজ করা হয়েছে:

শ্রেণীর প্রকারগুলি যা এনএসবজেক্ট থেকে প্রাপ্ত

ক্লাসের ধরণ যা @objc এর সাথে উন্মুক্ত

ব্রিজযুক্ত সুইফ্ট স্ট্রোকগুলি


1
আপনি যদি কোকো বাইন্ডিংয়ের মাধ্যমে একটি সুইফ্ট বুলি মানটি সংযোগের চেষ্টা করছেন তবে আপনার এটি @objc নির্দেশের সাথে প্রকাশ করতে হবে; অন্যথায় আপনি সত্যিই এই ত্রুটি পেতে। এটি সেরা উত্তর হওয়া উচিত।
jvarela

9

"এই শ্রেণিটি কীটির মূল কী কোডিং-আনুষাঙ্গিক নয়" এটি আমি কিছুটা দেরিতে জানি তবে আমার উত্তরটি অন্যরকম তাই আমি মনে করি এটি পোস্ট করা দরকার, আমি দ্বিতীয় নিয়ামককে ভুল উপায়ে চাপছিলাম, এখানে নমুনা দেওয়া হয়েছে

নিয়ন্ত্রকের ধাক্কা দেওয়ার ভুল উপায়

UIViewController* controller = [[UIViewController
 alloc]initWithNibName:@"TempViewController" bundle:nil];
         [self.navigationController pushViewController:controller animated:true];

সঠিক পথ

TempViewController* controller = [[TempViewController
 alloc]initWithNibName:@"TempViewController" bundle:nil];
         [self.navigationController pushViewController:controller animated:true];

আমি উপরের মতো কোনও উত্তর পাইনি সুতরাং এটি কারও কারও ক্ষেত্রে একই সমস্যা থাকতে পারে


8

এটি আপনার নাম পরিবর্তন বা মুছে ফেলার জন্য জিব ইন্টারফেসের কোনও উপাদানটি উল্লেখ করার ক্ষেত্রে হতে পারে। রেফারেন্সিং আমার জন্য কাজ করে।


8

আমি আমার অনুলিপিযুক্ত প্রকল্পে এই সমস্যাটি পেয়েছি এবং 2 টি জায়গা পরীক্ষা করে সমাধান করেছি:

1- আপনার তালিকায় .m ফাইল রয়েছে তা নিশ্চিত করুন -> প্রকল্প - পর্যায়গুলি তৈরি করুন - উত্সগুলি
সংকলন করুন 2- এর পরে, ইন্টারফেস বিল্ডারে যান (সম্ভবত এটি কেবলমাত্র আইবিতে ত্রুটিযুক্ত) এবং সমস্ত বৈশিষ্ট্য, লেবেল, চিত্রগুলি লিঙ্কমুক্ত করে দিন , ইত্যাদি ... তারপরে সকলকে আবার লিঙ্ক করুন। আমি বুঝতে পেরেছি যে আমি একটি বৈশিষ্ট্য সরিয়ে ফেলেছি তবে এটি আইবিতে লিঙ্কযুক্ত ছিল।

আশা করি এটি কিছু জন্য কাজ করে।


7

আমি খুঁজে পেলাম অন্য একটি "সম্মতিজনক নয়" ইস্যুটি তখন যখন আমি কোনও কারণে ক্লাসের দুটি অনুলিপি পরিচালনা করতে পারি।

আমি ভুল কপির চাবি যোগ করছিলাম। ইন্টারফেস বিল্ডার তখনও কীগুলি দেখেছিল এবং আমাকে সেগুলিতে আটকায়, কিন্তু রানটাইমের সময় এটি ক্লাসের অন্য অনুলিপিটি ব্যবহার করে যাতে নতুন কী নেই।

"ডান" অনুলিপিটি কোনটি ছিল তা খুঁজে পেতে আমি ক্লাসের নামটিতে এক্সকোডের সিএমডি-ক্লিকটি অন্য কোথাও ব্যবহার করে সঠিক অনুলিপিটি সরাতে পেরেছিলাম, তারপরে আমি খারাপ অব্যবহৃত অনুলিপিগুলি মেরে ফেললাম (প্রথমে ব্যবহৃত না হওয়া অনুলিপিগুলি থেকে আমার সম্পাদনাগুলি নিয়ে আসার পরে)।

গল্পটির নৈতিকতা: সদৃশ শ্রেণীর ফাইলগুলি খারাপ।


7

এই ত্রুটি অন্যরকম!

এখানে আমি এটি স্থির করেছি। আমি এক্সকোড সংস্করণ 6.1.1 এবং সুইফ্ট ব্যবহার করছি। আমার অ্যাপ্লিকেশনটি পরবর্তী স্ক্রিনে ঝাঁপিয়ে যাওয়ার জন্য যখনই সেগ সম্পাদন করার চেষ্টা করেছিল তখনই আমি এই ত্রুটিটি পেয়েছি। এখানে আমি কি করেছি।

  1. বোতামটি সঠিক ক্রিয়াটির সাথে সংযুক্ত ছিল কিনা তা পরীক্ষা করে নেওয়া হয়েছে ((এটি সমস্যা নয়, তবে এখনও চেক করা ভাল)
  2. বোতামটির কোনও অতিরিক্ত ক্রিয়া বা আউটলেট নেই যা আপনি ভুল করে তৈরি করেছেন তা পরীক্ষা করে দেখুন। (এটি সমস্যা ছিল না, তবে এখনও যাচাই করা ভাল)
  3. লগগুলি পরীক্ষা করে দেখুন এবং নিশ্চিত করুন যে নেক্সট স্ক্রিনের সমস্ত বোতামের সঠিক ক্রিয়া রয়েছে এবং যদি কোনও বিভাগ থাকে তবে তা নিশ্চিত করুন যে তাদের একটি অনন্য শনাক্তকারী রয়েছে। (এই সমস্যা ছিল)
    • সেগগুলির মধ্যে একটিতে স্বতন্ত্র সনাক্তকারী নেই
    • একটি বোতামের একটি ক্রিয়া এবং দুটি আউটলেট ছিল যা আমি ভুল করে তৈরি করেছিলাম।
    • যে কোনও অতিরিক্ত আউটলেটগুলি মুছুন এবং নিশ্চিত করুন যে আপনার পরবর্তী স্ক্রিনের সেগগুলিতে অনন্য শনাক্তকারী রয়েছে।

চিয়ার্স,


6

আমারও একই লক্ষণ ছিল। মূল কারণটি হ'ল আমার উত্স ফাইলটির জন্য "টার্গেট সদস্যতা" সঠিক টার্গেটে সেট করা হয়নি। আমি ধরে নিয়েছি এর অর্থ আমার ক্লাসটি তৈরি হবে না এবং আমার অ্যাপে অন্তর্ভুক্ত হবে না।

এটি সংশোধন করতে:

  1. আপনার .m ফাইলটি হাইলাইট করুন।
  2. ডান ফলকে, ফাইল পরিদর্শক নির্বাচন করুন।
  3. "টার্গেট সদস্যতা" বিভাগের অধীনে, উপযুক্ত বিল্ড টার্গেটটি চেক করা হয়েছে কিনা তা নিশ্চিত করুন।

আশা করি এটি কাউকে সাহায্য করবে।


6

আইবিআউটলেটগুলির সাথে আপনার যদি কাস্টম ইউআইভিউকন্ট্রোলার সাবক্লাস থাকে যা সমস্যার সৃষ্টি করে যা কেবলমাত্র ত্রুটি থেকে মুক্তি পেতে পেলাম কেবলমাত্র পদক্ষেপের সেটটি

.1 ক্লাসটি ইউআইভিউউকন্ট্রোলারে পরিবর্তন করুন

.2 সমস্ত আউটলেটগুলি সংযোগ বিচ্ছিন্ন করুন (তাদের সকলের মধ্যে এখন হলুদ সতর্কতা ত্রিভুজ থাকবে) - সমস্যাযুক্ত আউটলেট (গুলি) সংযোগ বিচ্ছিন্ন করার জন্য এটি যথেষ্ট be

.3 সমস্ত স্ট্যান্ডার্ড পদক্ষেপগুলি করুন - ↑ ⌘K, উত্সযুক্ত ডেটা মুছুন (, প্রার্থনা ম্যাটগুলি, চিন্তার জপমালা)

.4 অ্যাপ্লিকেশন চালু করুন - সমস্যাযুক্ত দৃশ্যে যান।

5

.6 আপনার আউটলেটগুলি পুনরায় সংযুক্ত করুন।

অ্যাপ্লিকেশনটি আরম্ভ করুন এবং এটি সাধারণত কী-মান সম্মতি সংক্রান্ত সমস্যাগুলি সাফ করে দেবে।


স্টোরিবোর্ডের সম্পাদকটিতে একটি দৃশ্য অনুলিপি করে আটকানোর সময় এটি কাজ করেছিল।
মিজমোর

5

আমার ক্ষেত্রে. মার্জ হওয়ার পরে আমার কাছে এক্সবি-ফাইলগুলিতে কোনও আউটলেট নেই।

শিফট + কমান্ড + কে

আমার সমস্যা সমাধান আমি আমার প্রকল্পটি পরিষ্কার করে পুনর্নির্মাণ করেছি।


4

আমার ক্ষেত্রে, এটি ভুল নিব উল্লেখ করে ঘটেছিল:

BMTester *viewController = [[BMTester alloc] initWithNibName:@"WrongNibName" bundle:nil];

1
আমার সাথে ঘটে যখন আমি ভিউ কন্ট্রোলারের শ্রেণীর নাম পরিবর্তন করি এবং ভুলে যাই যে নীব নামটিও পরিবর্তন করা দরকার। যেহেতু নিব নামটি কেবল একটি স্ট্রিং, তাই কোনও সংকলক ত্রুটি নেই।
ক্রিস

3

স্টোরিবোর্ডগুলির সাথে আমি এই ত্রুটিটি পাচ্ছিলাম। উপরের সমাধানটি সমস্যাটি মনে হচ্ছিল না তাই আমি ভিউ কন্ট্রোলারটিকে মুছে ফেলা এবং আবার এটিকে যুক্ত করে শেষ করেছিলাম (এবং অবশ্যই সেগের পুনরায় সংযোগ স্থাপন এবং ক্লাসটি পুনরায় সংযুক্ত করা) যা এটি ঠিক করেছিল। এটি আসলে কী ছিল তা আমি জানি না, তবে এটি শুরু হওয়ার আগেই আমি যুক্ত ভিউ কন্ট্রোলার ক্লাসটির নতুন নামকরণ করেছি, তাই এটি কোনও কিছুকে হোস্ট করেছে।


আমি আবার এই ত্রুটি পেয়েছি। এবার আমি আমার ক্লাসে নির্ধারিত একটি নতুন খালি টেবিল ভিউ কন্ট্রোলার তৈরি করেছি, অ-কর্মরতকে একা রেখে এবং সেগটিকে এতে সরিয়ে নিয়েছি। এটি কাজ করে। আমি আবার ধীরে ধীরে অনুলিপি করে প্রতিটি ততক্ষণ পর্যন্ত এটি ব্যর্থ না হওয়া পর্যন্ত। এবার সমস্যাটি পরিণত হয়েছিল যে আমি কোনও পিকারের জন্য কিছু "ব্যবহারকারী সংজ্ঞায়িত রানটাইম অ্যাট্রিবিউটস" অর্পণ করেছি (আমি ভাবছিলাম যে আমি সেগুলি পিকারটি আরম্ভ করতে ব্যবহার করতে পারি তাই কোডে এটি করতে হবে না, যদি সম্ভব হয় তবে কোনও ধারণা নেই) )। এটি মুছে ফেলার ফলে সমস্যাটি স্থির হয়েছে। এই ত্রুটিটি সত্যই ভয়ঙ্কর, আমি আশা করি এটি ভবিষ্যতে প্রকাশে উন্নত হয়েছে!
প্রতিসম

3

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.