আইওএস অ্যাপ: মাল্টিকোম্পোয়েন্ট পিকারের সাথে কাজ করা



এই ব্লগটি এমন একটি আইওএস অ্যাপ তৈরি করছে যা একটি ইউনিট থেকে অন্য ইউনিটে রূপান্তর প্রদর্শন করে। এটি একটি মিটালিক কম্পোনেন্ট পিকার, সতর্কতা ইত্যাদির কাজ বর্ণনা করে

একটি সম্পূর্ণ অন্তর্দৃষ্টি পেতে, দয়া করে পড়ুন । এটি আইওএস অ্যাপ সিরিজের দ্বিতীয় ব্লগ।





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

মধ্যেশেষ ব্লগ,আমরা এটা দেখেছি যখন আমরা পাঠ্য ক্ষেত্রে কিছু টাইপ করি, কীবোর্ড পপ আপ হয়। রূপান্তরিত করতে মানটি পাঠ্য ক্ষেত্রে টাইপ করা হয় এবং তারপরে আমরা দেখি কীবোর্ডটি আর যায় না।



এই সমস্যাটি সমাধান করার জন্য আমাদের একটি বোতাম যুক্ত করতে হবে যা পুরো ভিউটি কভার করে। যখন ব্যবহারকারী পটভূমির যে কোনও জায়গায় স্পর্শ করে, কীবোর্ডটি অদৃশ্য হয়ে যায়।

এখন, এগিয়ে যান এবং এটি করা যাক। একটি বোতাম টেনে আনুন, বৈশিষ্ট্য পরিদর্শকের কাছ থেকে স্বচ্ছ রঙ হিসাবে বোতামের প্রকারটি কাস্টম হিসাবে এবং পাঠ্যের রঙ হিসাবে সেট করুন।

বৈশিষ্ট্য পরিদর্শক



এবং সম্পাদক নির্বাচন করুন> সাজান> পিছনে প্রেরণ করুন

এবং বোতামটি এমনভাবে আকার দিন যাতে এটি পুরো দৃষ্টিতে ফিট করে।

এই বোতামটি এখন পটভূমির অদৃশ্য বোতাম হিসাবে কাজ করে যা কীবোর্ড অদৃশ্য হওয়ার জন্য ক্লিক করা হয়। এর জন্য আইবিএक्शनটি লিখি, সহকারী সম্পাদক মোডটি নির্বাচন করুন এবং ভিউকন্ট্রোলআরএফটিতে + টেনে আনুন। সংযোগটি অ্যাকশনে সেট করুন এবং ব্যাকগ্রাউন্ডবুটনে নাম দিন এবং সংযোগটি ক্লিক করুন।

ভিউ কন্ট্রোলার কোডটি এখন দেখে মনে হচ্ছে।

# আইম্পোর্ট @ ইনটারফেস ভিউ কন্ট্রোলার: ইউআইভিউকন্ট্রোলার @ প্রপার্টি (শক্তিশালী, নন্যাটমিক) আইবিউটলেট ইউআইটিেক্সটফিল্ড * ভ্যালুটেক্সটফিল্ড @ প্রপোর্টি (শক্তিশালী, নন্যাটমিক) আইবিউলেট ইউআইপিকারভিউ * পিকার 2 @ প্রোপার্টি (শক্তিশালী, নন্যাটটিক) ইউএসবিআরএলটিআইআরএলআইএলআইআরএফআইআরএলআইএল - (আইবিএક્શન) রূপান্তর করুন: (ইউআইবাটন *) প্রেরক - (আইবিএક્શન) ব্যাকগ্রাউন্ডবটন: (আইডি) প্রেরক @end

ViewController.m এ স্যুইচ করুন এবং তারপরে নিম্নলিখিত কোডটি লিখুন।

- (আই বি এ্যাকশন) ব্যাকগ্রাউন্ডবটন: (আইডি) প্রেরক {[_ভালিউটেক্সটফিল্ড পদত্যাগ করেছেন ফার্স্ট রেসপন্ডার] [_পিকার ২ পদত্যাগে ফার্স্ট রেসপন্ডার] [_পরিচয়লিবেল পদত্যাগ করেছেন ফার্স্ট রেসপন্ডার]}

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

- (অকার্যকর) পিকারভিউ: (ইউআইপিকারিকার ভিউ *) পিকরভিউ করুক নির্বাচন করুন: (এনএসআইন্টার) সারি ইনকোম্পোন্ট: (এনএসআইন্টার) উপাদান {নির্বাচিতভ্যালু = ডিটা [সারি] [স্ব ব্যাকগ্রাউন্ডবটন: 0]}

এখন, আপনি ব্যাকগ্রাউন্ড যুক্ত করা এবং এমনকি অভিনব বোতামের চিত্র দেওয়ার মতো অ্যাপ্লিকেশনটির বিউটিফিকেশন অংশে কাজ করতে পারেন। তবে, আমার মধ্যে, আমি একটি পটভূমি চিত্র সেট করব।
এটি করতে, একটি উপযুক্ত চিত্র প্রথম duh সন্ধান করুন! তারপরে এটিকে চিত্রগুলি। এক্সক্যাসেটস ফোল্ডারে যুক্ত করুন এবং সর্বজনীন চিত্রটি 1x থেকে 2x স্ক্রিনে পরিবর্তন করুন।

অ্যাপটি চালান এবং দেখুন এটি ঠিক আছে কিনা works

আমি যদি ডিভাইসটি আইফোন 5 এস এ পরিবর্তন করি।

সাজান সি ++ অ্যারে

এবং অ্যাপ্লিকেশন চালান।

এখানে আমরা দেখতে পাচ্ছি যে সবকিছু প্রত্যাশার মতো ঠিকঠাকভাবে কাজ করে। এখন যদি আমি আমার বোতামটিতে একটি পটভূমি যুক্ত করতে এবং চেহারাটিকে আরও বোতামের মতো করে তুলতে চাই? এটি করার জন্য, আমি প্রথমে ভিউকন্ট্রোল.আরতে রূপান্তর বোতামের জন্য একটি আইবিআউটলেট যুক্ত করব

@ প্রপার্টি (শক্তিশালী, ননোটমিক) আইবিউটলেট ইউআইবাটন * রূপান্তর করুন

এবং তারপরে ভিউডিডলড () পদ্ধতিতে নিম্নলিখিত কোডটি যুক্ত করুন

সেল্ফকন্টার্ট.ব্যাকগ্রাউন্ড কালার = [ইউআইকলার রঙ উইথ রেড: 0.4 সবুজ: 0.8 নীল: 1.0 আলফা: 1.0] [সেট টাইটেল কালার কনভার্ট করুন: [ইউআইকলার হোয়াইট কালার] স্টেট: ইউআইকন্ট্রোলস্টেট নরমাল]

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

ঠিকাছে দারুন! আপনি অবশ্যই লক্ষ্য করেছেন যে আমি ফলাফলের লেবেলের অবস্থানগুলিও পরিবর্তন করেছি, পরিবর্তনের কারণটি আমি পরে ব্যাখ্যা করব।

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

একটি পিকারকে দুটি উপাদানে বিভক্ত করতে, আমাদের একটি নতুন এনএসআরাই ডেটা 2 যুক্ত করা দরকার যা দ্বিতীয় উপাদানটির জন্য ডেটা ধারণ করবে। এছাড়াও, দুটি ধ্রুবককে সংজ্ঞা দিন যা আমাদের দুটি উপাদানকে উপস্থাপন করবে। প্রোগ্রামিংয়ের সরলতার জন্য এখানে বাম উপাদানটি 0 এবং ডান উপাদানটি 1 টি ঘোষিত হয়েছে।

আপনার ভিউকন্ট্রোল.আর ফাইলটি দেখতে মনে হচ্ছে

# আইম্পোর্ট # ডেটা 1comp 0 সংজ্ঞায়িত করুন ডেটা 2comp 1 @ ইনটারফেস ভিউ কন্ট্রোলার: ইউআইভিউকন্ট্রোলার @ প্রোপার্টি (শক্তিশালী, নন্যাটমিক) আইবিউলেটলেট ইউআইটিেক্সটফিল্ড * ভ্যালুটেক্সটফিল্ড @ প্রপোর্টি (শক্তিশালী, ননটমিক) আইবোটলেট ইউআইপিকার ট্রপ @ পন্টিংআরপিআরপিআরপিআর 2 @ সংযোগকারী শক্তিশালী, নন্যাটমিক) এনএসআরএ * ডেটা 2 @ প্রোপার্টি (স্ট্রং, ননোটমিক) আইবিউলেট ইউআইএলবেল * রেজাল্ট লেবেল @ প্রোপার্টি (স্ট্রং, নন্যাটমিক) আইবিউলেট ইউআইবাটন * রূপান্তর - (আইবিএশন) কনভার্ট: (ইউআইবাটন *) প্রেরক - (আইবিএশন) প্রেরণ বাটন: @শেষ

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

- (অকার্যকর) ভিউডিডলড {[সুপার ভিউডিডলড] // ভিউ লোড করার পরে অতিরিক্ত কোনও সেটআপ করুন, সাধারণত কোনও নিব। _ডাটা ১ = [এনএসআর অ্যারে উইথঅবজেক্টস: @ 'সেলসিয়াস', @ 'ফারেনহাইট', @ 'মিটার', @ 'সেন্টিমিটার', নীল] ডেটা 2 = [এনএসআর অ্যারে উইথঅবজেক্টস: @ 'সেন্টিমিটার', @ 'মিটার', @ 'ফারেনহাইট', @ 'সেলসিয়াস', শূন্যস্থান] অভিধান = [এনএসডিকোরিয়াসহ উইথঅবজেক্টসঅ্যান্ডকিস: @ 'সেলসিয়াস', @ 'ফারেনহাইট', @ 'ফারেনহাইট', @ 'সেলসিয়াস', @ 'মিটার', @ 'সেন্টিমিটার', @ 'সেন্টিমিটার', @ 'মিটার ', শূন্য] স্ব.উইউ.ব্যাকগ্রাউন্ড কালার = [ইউআইকলার রঙ উইথপ্যাটার্ন ইমেজ: [ইউআই ইমেজ ইমেজ নামকরণ: (@' বিজি ২.পিএনজি ')]]}

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

- (এনএসআইঞ্জার) নম্বরঅফম্পন্টসআইপিপিকারভিউ: (ইউআইপিকারার ভিউ *) পিকরভিউ {রিটার্ন 2} - (এনএসআইএনটিজার) পিকরভিউ: (ইউআইপিকারিকার ভিউ) পিকারভিউ নাম্বার অফফ্রিজআইকম্পোনেন্ট: (এনএসআইএনটিজার) উপাদান {যদি সংযুক্ত = ডাটা = [self.data2 গণনা]} - (NSString *) পিকারভিউ: (UIPickerView *) পিকরভিউ শিরোনাম forRow: (NSInteger) সারি জন্য কম্পোনেন্ট: (NSInteger) উপাদান {যদি (উপাদান == ডেটা 1comp) {প্রত্যাবর্তন [self.data1 অবজেক্টএটিডেক্স: সারি]} [স্ব.ডেটা 2 অবজেক্টএটিআইডেক্স: সারি] return - (শূন্য) পিকারভিউ: (ইউআইপিকারভিউ *) পিকারভিউডডিজিটরউ: (এনএসআইন্টিগ্রেজার) সারিতে ইনকোম্পোয়েন্ট: (এনএসআইন্টিজার) উপাদান self [স্ব ব্যাকগ্রাউন্ডবটন: 0] যদি (উপাদান == ডেটা 1 কম্পিউটার) {এনএসটি ডেটা ১১ = [_ ডেটা ১ অবজেক্টটিআইটেন্ডেক্স: সারি] এনএসআরএ * এ = [অভিধান অবজেক্টফেরকি: ডেটা ১১] সেকেন্ড্রো = [সেলফডেটটা ২ ইনডেক্সঅফজেক্ট: ক] [_ পিকার 2 সিলেক্ট: সেকেন্ড্রো ইনকোম্পোন্ট: ডেটা ২ কমম্প অ্যানিমেটেড: ইয়েস] [_পিকের ২ রিলোড পুনরায় লোডের উপাদান বেছে নেওয়া হয়েছে; ভিওআরভিউ নির্বাচন করা হয়েছে_ভিউ ১১] = সারিতে}}

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

DidSelectRow () এর জন্য কোড

- (অকার্যকর) পিকারভিউ: (ইউআইপিকারিকার ভিউ *) পিকরভিউ করুক নির্বাচন করুন: (এনএসআইন্টিগ্রেজার) সারি ইনকোম্পোন্ট: (এনএসআইন্টিগ্রেজার) উপাদান self [স্ব পটভূমিবটন: 0] যদি (উপাদান == ডেটা 1 কম্পিউটার) t এনএসএসআরটিং * ডেটা11 = [_ ডেটা 1 অবজেক্টআউটড্রেস রো]] a = [অভিধান অবজেক্টফোর্কি: ডেটা 11] সেকেন্ড্রো = [স্ব.ডাটা 2 ইনডেক্সফট অবজেক্ট: ক] [_পিকার 2 নির্বাচন করুন: সেকেন্ড্রো ইনকোম্পোন্ট: ডেটা 2 কমম্প অ্যানিমেটেড: হ্যাঁ] [_পিকের 2 রিলোডলোড কম্পোনেন্ট: ডেটা 2 কমম্প] নির্বাচিত ভ্যালু = ডেটা 11 সিলেক্ট করুন = সারি row

এখন অ্যাপটি চালান এবং দেখুন, পিকারটি যেমনটি প্রত্যাশিত হিসাবে কাজ করে।

ভয়েলা! এটা কাজ করে!

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

- (আইবিএક્શન) রূপান্তর করুন: (ইউআইবাটন *) প্রেরক {ফ্লাট ভাল = [_ ভ্যালুটেক্সটফিল্ড.টেক্সট ফ্ল্যাটভ্যালু] এনএসএলগ (@ 'মান% চ', ভাল) স্যুইচ (নির্বাচিত র) {কেস 0: // সেলসিয়াস টু ফারেনহাইট রেজ = (ভাল *) 1.8) + 32 ব্রেক ব্রেক কেস 1: // ফারেনহাইট টু সেলসিয়াস রেস = (ভাল -32) / 1.8 ব্রেক ব্রেক কেস 2: // মিটার টু সেন্টিমিটার রেস = ভাল * 100 ব্রেক ব্রেক কেস 3: // সেন্টিমিটার থেকে মিটার রেস = ভাল * 0.01 ব্রেক ডিফল্ট: res = 0.0} NSString * ফাইনাল = [এনএসএস স্ট্রিং উইথফর্ম্যাট: @ '%। 02f', রেজাল্ট] _ ফলাফল Label.text = চূড়ান্ত}

আপনি যদি অ্যাপটি চালনা করেন তবে আমরা দেখতে পাই যে সবকিছু ঠিকঠাক কাজ করে।

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

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

আমরা এর জন্য ইউআইএলআর্টভিউ ব্যবহার করতে পারি। আমরা showAlertWithMessage (NSString *) বার্তা নামে একটি পদ্ধতি লিখতে পারি। এই পদ্ধতিতে, আমরা একটি সতর্কতা ভিউ ঘোষণা করতে পারি এবং শেষ পর্যন্ত শো () পদ্ধতিটি ব্যবহার করে এটি প্রদর্শন করতে পারি। পদ্ধতির কোডটি নিম্নরূপ হবে।

- (অকার্যকর) showAlertWithMessage: (এনএসএসআরটিং *) বার্তা IA ইউআইএলআর্টভিউ * সতর্কতা ভিউ = [[ইউআইএলআর্টভিউ বরাদ্দ] ইনিউইন শিরোনাম: @ 'ত্রুটি' বার্তা: বার্তা প্রতিনিধি: স্বতঃবিলটনবটাইটেল: নিল অন্যান্যবটনটিইলস: @ 'ঠিক আছে', শূন্য = 100 সতর্কতা _ResultLabel.text=@ 'ফলাফল নেই' [সতর্কতা দেখুন শো]}

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

- (আইবিএশন) রূপান্তর করুন: (ইউআইবাটন *) প্রেরক {যদি ([_ ValueTextField.text দৈর্ঘ্য]]<= 0) { [self showAlertWithMessage:@' Please enter the value'] } else { float res=0.0 float val=[_ValueTextField.text floatValue] NSLog(@'value %f',val) switch(selectedRow) { case 0:// Celsius to Fahrenheit res=(val*1.8)+32break case 1: // Fahrenheit to Celsius res=(val-32)/1.8break case 2: // meter to centimeter res= val*100 break case 3://centimeter to meter res=val*0.01 break default: res=0.0 } NSString *final= [NSString stringWithFormat:@'%.02f',res] _ResultLabel.text = final } }

এখন অ্যাপটি চালান এবং টেক্সটফিল্ডে মানগুলি প্রবেশ না করে রূপান্তর বোতামটি ক্লিক করার চেষ্টা করুন।

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

আমরা নিম্নলিখিত হিসাবে এই যুক্তি বাস্তবায়ন করতে পারেন,

- (আইবিএশন) রূপান্তর করুন: (ইউআইবাটন *) প্রেরক {যদি ([_ ValueTextField.text দৈর্ঘ্য]]<= 0) { [self showAlertWithMessage:@' Please enter the value'] } else { _ResultLabel.textColor= [UIColor blackColor] float res=0.0 NSInteger n =[_picker2 selectedRowInComponent:data2comp] if(n==secondrow) { float val=[_ValueTextField.text floatValue] NSLog(@'value %f',val) switch(selectedRow) { case 0:// Celsius to Fahrenheit res=(val*1.8)+32break case 1: // Fahrenheit to Celsius res=(val-32)/1.8break case 2: // meter to centimeter res= val*100 break case 3://centimeter to meter res=val*0.01 break default: res=0.0 } NSString *final= [NSString stringWithFormat:@'%.02f',res] _ResultLabel.text = final } else { // code for displaying error. _ResultLabel.textColor= [UIColor redColor] _ResultLabel.text = @'Result cannot be calculated' } }

এখন অ্যাপটি চালান এবং প্রথম উপাদানটিতে নির্বাচন করার পরে দ্বিতীয় উপাদানটির মান পরিবর্তন করে দেখুন।

লিনাক্সে জাভা ক্লাসপাথ স্থাপন করা

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

সুতরাং, আমাদের রূপান্তর অ্যাপ্লিকেশনটি সম্পূর্ণ। আপনি আপনার পছন্দ অনুযায়ী অ্যাপে আরও কার্যকারিতা যুক্ত করতে পারেন এবং আপনার সৃজনশীলতা অনুযায়ী এটি আরও সুন্দর করতে পারেন।

আমাদের জন্য একটি প্রশ্ন আছে? তাদের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।

সম্পর্কিত পোস্ট: