এক্সকোড 4.5 স্টোরিবোর্ড 'প্রস্থান'


102

আমি iOS6 সমর্থনের জন্য সবেমাত্র Xcode 4.5 ইনস্টল করেছি এবং আমি আমার স্টোরিবোর্ডে 'প্রস্থান' নামক একটি নতুন আইকন দেখেছি, যা 'ফার্স্ট রেসপন্ডার' এর সাথে আমার ভিউ কন্ট্রোলারের অধীনে তালিকাভুক্ত করা হয়েছে। 'প্রস্থান' লেবেলযুক্ত একটি সামান্য সবুজ আইকন।

আমি এটিতে কিছু খুঁজে পেতে পারি বা এটি কীভাবে ব্যবহার করা যায় তা নিয়ে কাজ করতে পারি।

এটি সম্পর্কে যে কেউ কিছু জানেন, এটি কীভাবে কাজ করে, এর জন্য কী?


1
অনুরূপ একটি প্রশ্নে আমি এই উত্তরটি পোস্ট করেছি: stackoverflow.com/questions/12569316/… এটি কীভাবে প্রস্থান (আনওয়াইন্ড) বৈশিষ্ট্যটি ব্যবহার করবেন তা ব্যাখ্যা করতে সহায়তা করে
এরিক

উত্তর:


72

একে বলা হয় " আনওয়াইন্ড সেগু "। দুর্ভাগ্যক্রমে XCode 4.5 এর নতুন বৈশিষ্ট্য তালিকায় সংক্ষিপ্ত উল্লেখ ব্যতীত এর পক্ষে এখন পর্যন্ত কোনও দলিল নেই:

আনওয়াইন্ড সেগগুলি স্টোরিবোর্ডে দৃশ্যের বিদ্যমান দৃষ্টান্তগুলিতে রূপান্তর করতে পারে

সুসংবাদটি হ'ল ডাব্লুডাব্লুডিসি ২০১২ সালের একটি অধিবেশন সেই প্রাণীগুলি (অন্যান্য জিনিসের মধ্যে) সম্পর্কে ব্যাখ্যা করছে।

আপনি কেবলমাত্র আপনার বিকাশকারী অ্যাকাউন্টের বিশদ সহ অ্যাপলের আইওএস ডেভ সেন্টারে লগইন করতে পারেন এবং তারপরে ডাব্লুডাব্লুডিসি 2012 ভিডিও পৃষ্ঠাতে যান এবং "আপনার অ্যাপে স্টোরিবোর্ড গ্রহণ করুন" (শীর্ষে এটি পঞ্চম) অনিচ্ছাকৃত বিভাগগুলির আলোচনা সময়ে শুরু হয় 37:20 ।


আপডেট: অ্যাপলের ডকুমেন্টেশন থেকে এই বিষয়ে আরও কিছু তথ্য এখানে দেওয়া হয়েছে

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

(IOS6 ডকসেট থেকে> সাধারণ> শুরু করা)

এবং আপনি কীভাবে এটি প্রয়োগ করতে পারেন তার একটি দুর্দান্ত উদাহরণ এখানে is


আরেকটি আপডেট:

এই বিষয় সম্পর্কিত অ্যাপলের একটি প্রযুক্তিগত নোট এখানে


3
ঠিক আছে, তাহলে আপনি এটি কীভাবে ব্যবহার করবেন? একটি ভিউকন্ট্রোলারের নীচে প্রস্থানস্থান থেকে নিয়ন্ত্রণ-ক্লিক করার চেষ্টা করা হয়েছে, তবে এটি কোনও কিছুর সাথে লিঙ্ক করবে না।
shim

4
আপনার আনওয়াইন্ড সেগুয়ের জন্য আপনাকে মূলত একটি পদ্ধতিটি নির্ধারণ করতে হবে এবং তারপরে exitআপনি যে পদ্ধতিতে কল করতে চান সেটি নির্বাচন করে একটি উপাদান থেকে বোতামে সংযুক্ত করতে হবে। আপনি এখানে একটি উদাহরণ পেতে পারেন ( উদাহরণটি অন্তর্ভুক্ত করার জন্য আমি আমার উত্তরও আপডেট করেছি)
অ্যালাদিনিয়

1
-1: প্রচুর শব্দ, সামান্য দরকারী তথ্য। : এই পর্যন্ত পড়া ও আমার নিজের অ্যাপ্লিকেশানে এটা ব্যবহার পর, আমি এই উত্তর যা আশা আরো উপযোগী আপ লিখেছেন stackoverflow.com/a/25829835/901641
ArtOfWarfare

1
এ কারণেই আমি অ্যাপলের অস্তিত্বহীন দলিলগুলি পছন্দ করি। মানুষ, কাউকে ওখানেই বরখাস্ত করা উচিত।
হাঁস

@ স্পেসডগ সম্ভবত এটিই ঘটেছে, তাদের সবাইকে বরখাস্ত করা হয়েছে এবং ডকুমেন্টেশন লেখার জন্য কারও বাকী নেই: / আমি ডাব্লুডাব্লুডিসি ভিডিও পছন্দ করি - ২০১২ সম্ভবত অ্যাপল শৃঙ্খলা অর্জনের বছর।
28 এ ট্যুরিজিংসড

10

আপনার স্টোরিবোর্ডে আপনার দেখার ক্রম রয়েছে তা কল্পনা করুন:

A -> ... -> Z

আপনি দেখতে একটি বোতাম রাখতে চান Zযা ব্যবহারকারীকে সমস্ত পথে ফিরে যেতে দেয় A

সুতরাং আপনাকে যা করতে হবে তা হল এই দৃষ্টিতে আপনি যে সমস্ত উপায়ে ব্যাক করতে চান তা এই ক্ষেত্রে A, একটি উদাহরণ পদ্ধতি যা একটি হিসাবে চিহ্নিত IBActionএবং একক পরামিতি টাইপ করে UIStoryboardSegue *। পদ্ধতির নাম এবং ভেরিয়েবলের কিছু যায় আসে না। বাস্তবায়নের মধ্যে আপনি যা করেন তা কোনও বিষয় নয়। এখানে একটি উদাহরণ:

OBJ-সি:
ইন Aএর ইন্টারফেস (না Z'গুলি):

- (IBAction)cancelSignup:(UIStoryboardSegue *)unwindSegue;

ইন Aএর বাস্তবায়ন (না Z'গুলি):

- (IBAction)cancelSignup:(UIStoryboardSegue *)unwindSegue {
    // Only "implemented" to satisfy a respondsToSelector: search.
    // You can actually implement more stuff here, if you want, IE, if
    // you need to reach out to a server to mention that this screen was
    // returned to from a later screen.
}

সুইফট:
ইন Aএর উৎস (না Z'গুলি):

@IBAction func cancelSignup(unwindSegue: UIStoryboardSegue) {
    // Only "implemented" to satisfy a respondsToSelector: search.
    // You can actually implement more stuff here, if you want, IE, if
    // you need to reach out to a server to mention that this screen was
    // returned to from a later screen.
}

এখন, আপনার স্টোরিবোর্ড মধ্যে controlউপর একটি উপাদান থেকে ড্র্যাগ Zকরতে (অর্থাত, একটি বাটন বাতিল) Z'র Exit। এটি ভিউ হায়ারার্কিতে এমন সমস্ত ভিউ উচ্চতর করে স্ক্যান করবে যা এমন একটি রয়েছে IBActionযা কেবলমাত্র একককে UIStoryboardSegue *ক্রিয়া হিসাবে গ্রহণ করে এবং সেগুলি বেছে নেওয়ার জন্য তাদের তালিকা করে।

আশা করি বিদ্যমান উত্তরগুলির তুলনায় এটি আরও সোজা এগিয়ে এবং সহায়ক ছিল। আমি দেখতে পেয়েছি যে এই লিঙ্কটি বিশেষভাবে কার্যকর ছিল, সুতরাং আমার উত্তরটি পড়ার পরেও যদি আপনি এখনও বিব্রত হয়ে থাকেন তবে সেখানে এটি আপনাকে সহায়তা করতে পারে (আমি এই দীর্ঘ নিবন্ধ থেকে সমস্ত দরকারী তথ্যকে একটি সংক্ষিপ্ত উত্তরে সঞ্চারিত করার চেষ্টা করেছি): http://www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html


4

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

  1. আইবিএक्शन হিসাবে চিহ্নিত হয়েছে

  2. এমন একটি প্যারামিটার নেয় যা একটি ইউআইএসটিবোর্ডসেগ *

যদি উভয় শর্ত পূরণ হয় তবে প্রস্থান আইকনটি এটি দেখতে পাবে এবং একই ভিউ নিয়ামকের একটি বোতাম থেকে নিয়ন্ত্রণ-টেনে আপনি এর মাধ্যমে সংযোগ স্থাপনের অনুমতি দেবেন।

আমি এখন বিশ্বের সহজ উদাহরণ এখানে পোস্ট করেছি:

https://github.com/mattneub/Pramramming-iOS-Book-Eesample/tree/master/ch19p638premittedViewControllerStoryboard (স্থির 12 জুলাই 2013)

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


3

প্রয়োজনীয়তা সংজ্ঞায় কেবল সামান্য সূক্ষ্মতা যুক্ত করা যা সহায়তা করতে পারে। এটি এক্সকোড ৪.6 এ পরীক্ষার উপর ভিত্তি করে। আমি দেখতে পেয়েছি যে এটি বিশেষভাবে এবং কেবলমাত্র পদ্ধতিটির ঘোষক (!) যা এক্সকোড থেকে পছন্দসই নিয়ন্ত্রণ-টানা প্রতিক্রিয়াটিকে সক্ষম করে। এখানে আমি সম্পূর্ণ প্রয়োজনীয়তা যা পেয়েছিলাম তা এখানে:

  • যেমন চিহ্নিত IBAction
  • একটি প্যারামিটার নেয় যা UIStoryboardSegue*
  • আপনার অবশ্যই একটি ঘোষিত পদক্ষেপ থাকতে হবে (তবে প্রয়োজনীয়ভাবে প্রয়োগ করা হয়নি [ .Mবাস্তবায়নের অংশে একটি পদ্ধতি অর্থ ])।
  • এটি যেকোন শ্রেণীর ইন্টারফেস ঘোষণায়, এমনকি .Mঅ্যাডেলিগেট ক্লাস বাদে একটির ইন্টারফেস বিভাগেও হতে পারে । (আমি কন্ট্রোলার হায়ারার্কিতে এর অবস্থানের উপর কোনও নির্ভরতা দেখতে পাইনি You আপনি যে কোনও পুরানো ফাইল যুক্ত করতে পারেন এবং সিস্টেমটি UIStoryboardSegueপ্যারামিটারযুক্ত সমস্ত পদ্ধতি একত্রিত করে প্রস্থান আইকনের মেনুতে প্রদর্শন করে seems মনে রাখবেন যে কন্ট্রোল-টেনে আনুন এমনকি স্টোরিবোর্ড সম্পাদকটিতে যে পদ্ধতিটি আপনি চালাচ্ছেন সেটির ক্লাসে যদি পদ্ধতিটি থাকে তবে মেনু আপনাকে আপনার পদ্ধতিটিও দেখাবে, তবে এটি কোনও কোলন ছাড়াই উপস্থিত হবে এবং রানটাইমটিতে কোনও ক্রিয়াকলাপ প্রবর্তিত বলে মনে হয় না।

উদাহরণ: -(IBAction)anymethodname:(UIStoryboardSegue *)myvariable;

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