স্টোরিবোর্ডে আইডেন্টিফায়ার সহ কোনও ভিউ কন্ট্রোলার নেই


175

আমি নিম্নলিখিত ত্রুটি পেয়ে চলেছি:

Storyboard (<UIStoryboard: 0x7ebdd20>) doesn't contain a view controller with identifier 'drivingDetails'

এই কোড:

- (void)tableView:(UITableView *)tableView 
        didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   UIViewController *controller =  [self.storyboard instantiateViewControllerWithIdentifier:@"drivingDetails"];
   controller.title = [[dao libraryItemAtIndex:indexPath.row] valueForKey:@"name"];
   [self.navigationController pushViewController:controller animated:YES];
}

আমি ইতিমধ্যে সেট করেছেন identifierউপর UIStoryboardকিন্তু আমি এখনও এই ত্রুটি পেয়ে করছি।

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



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

ড্রাইভিং অব ভিউ কন্ট্রোলার ভাল কাজ করে .... আমি যখন টেবিলভিউ কনট্রোলার উপস্থাপন করার চেষ্টা করি তখন ত্রুটিটি পাই ...... আপনি কীভাবে এটি করবেন?
মাদুর

স্টোরিবোর্ডে যান, সেই স্টোরিবোর্ড আইডিটি সরান এবং আবার যুক্ত করুন। আপনার কখনও কখনও বিল্ড ফোল্ডার এবং উত্পন্ন ডেটা পরিষ্কার করতে হবে
onwayway133

উত্তর:


244

কেবল ভবিষ্যতের রেফারেন্সের জন্য:

আমি স্টোরিবোর্ড ব্যবহার করে আইওএস 6 এ বিকাশ করছি।

আমার একই সমস্যা ছিল, তবে আমি পরিদর্শকের মধ্যে "আইডেন্টিফায়ার" ক্ষেত্রটি খুঁজে পেলাম না। পরিবর্তে, "স্টোরিবোর্ড আইডি" নামক ক্ষেত্রটি কীভাবে আপনি পরিচয়দাতার নাম রাখবেন তা সেট করুন। এই ক্ষেত্রটি পরিদর্শকের "পরিচয় পরিদর্শক দেখান" ট্যাবের অধীনে পাওয়া যাবে।

[দ্রষ্টব্য - নীচের মন্তব্যগুলি ইঙ্গিত করে যে কিছু লোকেরা খুঁজে পেয়েছেন যে তাদের পরিদর্শকের স্টোরিবোর্ড আইডির ঠিক নীচে "পুনরুদ্ধার আইডি" ফিল্ডটি সেট করতে হবে (এছাড়াও?)। "স্টোরিবোর্ড আইডি ব্যবহার করুন" এ ক্লিক করা যথেষ্ট মনে হয় না]]

রেফারেন্সের জন্য নীচে একটি চিত্র রয়েছে: (এই উদাহরণে আমি আমার শনাক্তকারীকে আমার শ্রেণীর মতো নামকরণ করেছি) এখানে চিত্র বর্ণনা লিখুন


24
প্রি এক্সকোড ৪.৪ এবং তার আগের: আইডেন্টিফায়ার;
এক্সকোড

আপনার তথ্যের জন্য ধন্যবাদ. গুগলে ব্যাখ্যার পরে স্টোরিবোর্ডে শনাক্তকারী খুঁজে পেতে আমি সমস্যায় পড়েছি, তবে আমি এক্সকোড ৪..6 এ আইডেন্টিফায়ারটি খুঁজে পেল না। এটা নবাগত বড় সমস্যা। ধন্যবাদ।
শুরু

4
আমার জন্য যা কাজ করেছিল তা হ'ল ReuseIndentifier ব্যবহার করে। স্টোরিবোর্ড আইডি এখনও নাল পয়েন্টার ব্যতিক্রম ঘটায়।
ড্রয়েড ক্রিস

একই ঘটনা এখানে @DroidChris
আহমেদ

5
"স্টোরিবোর্ড আইডি ব্যবহার করুন" এর জন্য পরীক্ষা আমাকে খুশি করেছে
প্রীতম

189

ইন Xcode 7 - 11 ,

আপনি যখন স্টোরিবোর্ড আইডি পরিবর্তন করেন এবং আপনি এর মতো ত্রুটি পান,

আপনার প্রকল্পটি কেবল পরিষ্কার করুন ( CMD+ SHIFT+ K)


13
কেন আমি সবসময় এটি করতে ভুলে যাই? এটি ক্রেজিস্ট সমস্যাগুলি সমাধান করে। ধন্যবাদ, টেড, আমাকে স্মরণ করিয়ে দেওয়ার জন্য!
AlphaCodaSeven

2
স্টোরিবোর্ডের কোনও ভিসি একটি সনাক্তকারী নির্ধারিত হয়েছিল এমন একটি রেপো থেকে টানতে গিয়ে এই সমস্যাটি এক্সকোড .2.২ এ ঘটেছিল। প্রকল্পটি পরিষ্কার করা সমস্যার সমাধান বলে মনে হয়েছে।
এড জর্জ

2
আমি ভেবেছিলাম আমি আমার মন হারাচ্ছি ... একটি সরল সেগু কাজ করছে না, এই কৌশলটি করেছে।
dokun1

2
হ্যাঁ ইজ ওয়ার্কিং !!!! কিছু সময় এক্সকোড প্রকল্পটি পরিষ্কার করা প্রকল্পের অনাকাঙ্ক্ষিত রেফারেন্সটি সরিয়ে ফেলবে
কিরণ

3
আমি অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড বিকাশ থেকে এসেছি। এক্সওড এবং সুইফটে আমাকে কত হ্যাক ব্যবহার করতে হবে তা উন্মাদ। আমাকে সত্যিই কাঁদতে হবে। সিরিয়াসলি।
কেটমাস

43

সংশোধন করা হয়েছে! আমার ক্ষেত্রে ড্রাইভিং ডেটেলগুলি কেবলমাত্র সেগ-এর শনাক্তকারীকেই সেট করতে হবে না, তবে আমার টেবিলভিউ কনট্রোলারটিতে সনাক্তকারীও অবশ্যই ড্রাইভিং ডেটেল হিসাবে সেট করা উচিত ... আমার ছবিটি দেখুন:

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

আমি নেভিগেশন ভিউ কন্ট্রোলারটিকেও সরিয়েছি তাই এখন 2 টেবিল ভিউ কন্ট্রোলাররা একটি "ধাক্কা" অ্যানিমেশনের সাথে সরাসরি সংযুক্ত হয়ে গেছে।

***** এক্সকোড 7.0 এর জন্য সম্পাদনা করুন *****

আপনাকে স্টোরিবোর্ড সেট করতে হবে (এই ক্ষেত্রে ভিউকন্ট্রোলারটি একটি নেভিগেশন নিয়ামককে এম্বেড করা হয়েছে:

let lastMinVc  = mainStoryBoard.instantiateViewControllerWithIdentifier("lastMinuteNavController") as! UINavigationController

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


2
আমি এই প্রশ্নের অনুরূপ সমস্যার মধ্যে দৌড়াচ্ছি তবে যখন আমি গুণাবলী পরিদর্শকের কাছে যাই আমি 2 টি ক্ষেত্র দেখতে পাই না যেমন আপনার স্ক্রিনে কেবল একটি শিরোনাম ক্ষেত্র, কোনও সনাক্তকারী ক্ষেত্র নেই
আনোন 957

আপনি কি উপরের উত্তরটি দেখেছেন? আমার মনে হয় আরও আপডেট হয়েছে। ধন্যবাদ
মাদুর

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

সম্ভবত সম্পর্কিত। ইন সহ iOS7 [storyboard instantiateViewControllerWithIdentifier]দৃশ্য নিয়ামক ভিতরে ইন্টারফেস বিল্ডার থেকে দর্শন নেই শুরু করতে গিয়ে হয়; তবে
আইওএস

30
let storyboard = UIStoryboard(name: "StoryboardFileName", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "StoryboardID")
self.present(controller, animated: true, completion: nil)

বিঃদ্রঃ:

  • "StoryboardFileName"হয় ফাইলের নাম স্টোরিবোর্ড ও না স্টোরিবোর্ডের আইডি!
  • "StoryboardID"আপনি সেই স্টোরিবোর্ডের জন্য পরিচয় পরিদর্শককে ম্যানুয়ালি সেট করে দিয়েছেন আইডি (নীচের স্ক্রিনশটটি দেখুন)।

স্টোরিবোর্ড আইডি

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


1
এই!! আমার মানুষ আপনি আমার 18 ঘন্টা রহস্য সমাধান করেছেন। সংক্ষিপ্ত ব্যাখ্যার জন্য আপনাকে ধন্যবাদ।
mrfevrier

1
যীশু! এর জন্য ধন্যবাদ! .instantiateViewController(withIdentifier: "StoryboardID").instantiateStoryboard(withIdentifier: "StoryboardID")UIStoryboard(name: "StoryboardFileName", bundle: nil).init()
রোজভেল্ট

16

Xcode 6.3.2 এর জন্য স্টোরিবোর্ড আইডি নামের পরিচয় পরিদর্শক ট্যাবে থাকা পরিচয় এবং স্টোরিবোর্ড আইডি বিকল্পটি ব্যবহার করে চেক করা হয়েছে। এখানে চিত্র বর্ণনা লিখুন


এটি সমস্তই সমস্যা ছিল, এটি উভয় জায়গাতেই আমার সমস্যা ছিল। এটি কেবল স্টোরিবোর্ড আইডি মান সেট করা নয়, আপনাকে 'স্টোরিবোর্ড আইডি ব্যবহার করুন'
টাইলার হ্যাক

"স্টোরিবোর্ড আইডি ব্যবহার করুন" আমার জন্য অতীব গুরুত্বপূর্ণ বিষয় ছিল missing ধন্যবাদ.
মারসি

9

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


5

সংকলক নিম্নলিখিত ত্রুটি দেখায়:

Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Storyboard (<UIStoryboard: 0x7fedf2d5c9a0>) doesn't contain a 
ViewController with identifier 'SBAddEmployeeVC''

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

তার জন্য নিম্নলিখিত কোড ব্যবহার করুন:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];

আমরা storyboardWithNameযে স্টোরিবোর্ড ফাইলটির সাথে কাজ করছি তার নাম এখানে দেওয়া হয়েছে এবং bundleআমাদের স্ট্যান্ডবোর্ডটি (যেমন mainBundle) বান্ডেলটি নির্দিষ্ট করে ।


5

@ রবি ভানুশালির মতো একই সমস্যা রয়েছে তাদের জন্য, এখানে একটি সুইফট 4 সমাধান রয়েছে:

let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)


এটি @ রাবির উত্তরে একটি মন্তব্য যুক্ত করা উচিত।
সুনীল

আমার আছে তবে সুনাম নেই। পর্যাপ্ত
খ্যাতিযুক্ত

4

আমি এটি খুঁজে পেয়েছি ... স্টোরিবোর্ডে ভিউ কন্ট্রোলারে ক্লিক করুন, উপাচার্য পরিদর্শকগণের বাম দিক থেকে তৃতীয় আইকনটি ক্লিক করুন - আপনি যে দৃশ্যের উপরে কল নামটি সেট করেছিলেন সেখানে এটি 'পরিচয়' বলেছিল - আমার লুকানো ছিল, আমাকে করতে হয়েছিল শব্দের পরিচয় শব্দের উপর ক্লিক করুন তারপরে স্টোরিবোর্ড আইডি দেখায় - সম্পন্ন হয়ে কোড থেকে সনাক্তকারী যুক্ত করুন add


4

পরিচয় পরিদর্শক ("বাম দিকে 3 য় আইকন)" স্টোরিবোর্ড আইডি পরিবর্তন করে কাজ করা উচিত।

যদি তা না হয় এবং আপনি নিশ্চিত হন যে কোনও টাইপো নেই, তবে প্রকল্পটি পরিষ্কার করার চেষ্টা করুন ("পণ্য" -> "পরিষ্কার", বা কেবল কমান্ড + শিফট + কে)।


আমার জীবন সংরক্ষিত. ধন্যবাদ। (বিশেষত পরিষ্কারের অংশ)
জয়

1

সনাক্তকারী প্রবেশের সময় আপনি সঠিক দর্শন নিয়ন্ত্রক বাছাই করেননি, একবার একবার পরীক্ষা করে পুনরায় পদ্ধতিটি পুনরাবৃত্তি করেছেন কিনা তা একবার পরীক্ষা করে দেখুন।


আমার কোন ভিউ কন্ট্রোলার নির্বাচন করা উচিত? দুঃখিত, আমি বিভ্রান্ত
মাদুর

টেবিলভিউ কনট্রোলার * নিয়ন্ত্রক = [স্ব.স্টিরিবোর্ড ইনস্ট্যান্টিয়েট ভিউকন্ট্রোলারওথআইডিটিফায়ার: @ "ড্রাইভিংডেটেল"]; controller.title = [[দাও লাইব্রেরি আইটেমটিডেক্স: সূচকপথ.রোও] value forKey: @ "নাম"]; [স্ব-নেভিগেশন কন্ট্রোলার পুশভিউ কনট্রোলার: নিয়ামক অ্যানিমেটেড: হ্যাঁ]; এটার মত?
মাদুর

চিত্র অনুসারে টেবিলভিউ কনট্রোলারটি নির্বাচন করা উচিত কারণ আপনি সেই নিয়ামকটিতে বিশদ প্রদর্শন করতে যা করছেন।
আইয়ামসাল্ট

গল্প বোর্ডের পদক্ষেপ ব্যাখ্যা দ্বারা ধাপ দেওয়া raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1
iamsult

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

1

আমার বেশিরভাগ ভিউ কন্ট্রোলার স্টোরিবোর্ড পরিচয়কারী বৈশিষ্টটি অনুপস্থিত ।

আগে:

<viewController
    id="pka-il-u5E"
    customClass="YourViewControllerName"
    customModule="ModuleName"
    customModuleProvider="target"
    sceneMemberID="viewController">

পরে:

<viewController
    storyboardIdentifier="YourViewControllerName"   <----
    id="pka-il-u5E"
    customClass="YourViewControllerName"
    customModule="ModuleName"
    customModuleProvider="target"
    sceneMemberID="viewController">

0

আমি একই ত্রুটি পেয়েছি এবং আমার প্রকল্পে নিম্নলিখিত পরিবর্তনগুলি পরিবর্তন করে আমি এটি ঠিক করতে পারি। আমি আমার ক্লাসের নামটি ইন্সপেক্টর প্যানেলে উল্লেখ করেছি তখন সমস্যার সমাধান হয়। যান -> ডান প্যানেল সেখানে পরিচয় পরিদর্শক কাস্টম ক্লাস বিভাগে

শ্রেণি: আপনার শ্রেণীর নাম (ViewController)

পরিচয় বিভাগের স্টোরিবোর্ড আইডিতে: আপনার স্টোরিবোর্ড আইডি (ভিউকন্ট্রোলারের নাম)

সেখানে স্টোরিবোর্ড আইডি ব্যবহারের বিকল্পটিতে ক্লিক করার পরে সমস্যাটি শেষ হয়ে গেছে। আমি আশা করি এটা তোমাকে সাহায্য করবে....


0

আপনার সনাক্তকারী (@ "ড্রাইভিং ডেটেলস") স্টোরিবোর্ড আইডি হিসাবে ব্যবহার করুন।


0

এটি খুব সহজ মূল স্টোরি বোর্ডে সংশ্লিষ্ট ভিউ কন্ট্রোলারটি নির্বাচন করুন এবং স্টোরিবোর্ডটি চেক করুন যদি এটির বর্তমান পরিচয়দাতায় এটি কোনও নাম দেয় এবং এটি ব্যবহার করে।

এখানে আমার ফার্স্টোনটি স্টোরিবোর্ডে যাক, ভিসি = সেলফ স্টোরবোর্ড?? ইন্সট্যানিয়েটভিউকন্ট্রোলার (আইডেন্টিফায়ার: "ফার্স্টোন") হিসাবে! tabBarViewController


0

আমি উপরের সমস্ত সমাধানের চেষ্টা করেছিলাম এবং কোনওটিই কাজ করে না।

আমি যা করেছি তা হ'ল:

  • প্রকল্প পরিষ্কার
  • উদ্ভূত ডেটা মুছুন
  • এক্সকোড পুনরায় চালু করুন
  • পূর্ববর্তী উত্তরে (আইবির অভ্যন্তরে) দেখানো স্টোরিবোর্ড পুনরায় প্রবেশ করান।

এবং তারপর এটি কাজ করে। অবাক করার বিষয়টি হ'ল আমি ইন্টারফেস বিল্ডারে স্টোরিবোয়ার আইডি enteredুকেছি এবং এটি আবার এক্সকোড খোলার পরে মুছে ফেলা / মুছে ফেলা হয়েছে।

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


0

সমস্ত জিনিস পরিষ্কার করা এবং এক্সকোড বন্ধ করা আমার পক্ষে সমস্যাটি সমাধান করে না।

আমাকে ভিউকন্ট্রোলার মুছতে হয়েছিল এবং নতুন সনাক্তকারী সহ একটি নতুন তৈরি করতে হয়েছিল।


0

দ্রষ্টব্য: আপনি যদি আপনার প্রকল্পে কোকোপড ব্যবহার করেন তবে প্রথমে চালান pod deintegrateএবং andrm Podfile.lock

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

  1. আপনি যে কোনও ভুল নামটির নাম পরিবর্তন / ঠিক করুন।
  2. সমস্ত পরিবর্তন সংরক্ষণ করুন।
  3. আপনার প্রকল্পটি পরিষ্কার করুন এবং তৈরি করুন।

এখনই সবকিছু ঠিকঠাক করা উচিত।

আপনি যখন এক্সকোডের মধ্যে থেকে ফাইলগুলির নাম পরিবর্তন করেন তখন এটি প্রায়শই ঘটে।


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