সুইফট হল একটি প্রোগ্রামিং ভাষা যা আইফোন, আইপ্যাড, ম্যাক, অ্যাপল ওয়াচ এবং আরও অনেক কিছুর জন্য অ্যাপ এবং গেম লেখার জন্য ব্যবহৃত হয়; অ্যাপল ডিভাইসগুলি থেকে দ্রুততম এবং সবচেয়ে দক্ষ কর্মক্ষমতা পেতে সুইফটকে স্পষ্টভাবে ডিজাইন করেছে এবং সুইফট 5 এর ইতিমধ্যেই চিত্তাকর্ষক বৈশিষ্ট্য সেটের উপর প্রসারিত হয়েছে। এই নিবন্ধে আমরা কীভাবে Swift 5 ব্যবহার করতে হয় তা দেখাই, কেন আপনার উচিত ব্যাখ্যা করি এবং ভাষার এই সংস্করণে সমস্ত নতুন বৈশিষ্ট্যের রূপরেখা দিই৷
আপনি যদি শুধু নিমজ্জিত হতে চান, তাহলে সুইফট 5 এর সাথে কিভাবে শুরু করবেন সেদিকে ঝাঁপিয়ে পড়ুন। এবং একটি বিস্তৃত ওভারভিউয়ের জন্য, ম্যাক প্রোগ্রামিং-এর জন্য আমাদের সম্পূর্ণ নির্দেশিকাটি দেখুন, যা ম্যাকওএস-এ আপনি ব্যবহার করতে পারেন এমন বিভিন্ন কোডিং ভাষা দেখায়।
Swift 5 এর ওভারভিউ
Swift 5 হল অ্যাপল দ্বারা তৈরি একটি প্রোগ্রামিং ভাষা যা বিকাশকারীদের iOS, macOS, tvOS এবং watchOS-এর জন্য অ্যাপ তৈরি করতে দেয়।
পঞ্চম সংস্করণটি Xcode 10.2 এর সাথে মার্চ 2019 সালে প্রকাশিত হয়েছিল - আমরা পরবর্তী বিভাগে সুইফট 5-এর নতুন বৈশিষ্ট্যগুলির বিষয়ে আপনার সাথে কথা বলব - তবে সুইফ্ট ভাষা কিছু সময়ের জন্য চলছে:সুইফ্ট 1.0 সেপ্টেম্বর 2014 এ আবার প্রকাশিত হয়েছিল। অ্যাপলের মতে। , সুইফ্ট অবজেক্টিভ সি-এর থেকে 2.6 গুণ পর্যন্ত দ্রুত এবং পাইথনের চেয়ে 8.4 গুণ পর্যন্ত দ্রুত।
কেন আপনি সুইফট 5 এ কোড করবেন?
1) সুইফট হল ওপেন সোর্স . ওপেন সোর্স বলতে সাধারণত একটি প্রোগ্রামের পিছনের সোর্স কোড বা প্রোগ্রামিং ল্যাঙ্গুয়েজকে সাধারণ জনগণের জন্য উপলব্ধ করা হয়। কোডাররা তারপরে তারা যেখানে খুশি প্রোগ্রামটি পরিদর্শন, পরিবর্তন এবং স্থাপন করতে পারে৷
অ্যাপলের ওপেন সোর্স পৃষ্ঠা বলে:"অ্যাপল বিশ্বাস করে যে ওপেন সোর্স পদ্ধতি ব্যবহার করে ম্যাকওএসকে আরও শক্তিশালী, সুরক্ষিত অপারেটিং সিস্টেম করে তোলে, কারণ এর মূল উপাদানগুলি কয়েক দশক ধরে পিয়ার রিভিউর ক্রুসিবলের অধীন হয়ে আসছে।"
2) সুইফট শিখতে সহজ . অ্যাপল ব্যবহার করা সহজ হতে তার ভাষা তৈরি করেছে। এটি নতুনদের জন্য শুরু করার জন্য একটি আদর্শ ভাষা কারণ সিনট্যাক্স বোঝা সহজ। আপনি যদি আগে সফ্টওয়্যার তৈরি করে থাকেন তবে আপনি সুইফ্টের সিনট্যাক্স এবং ধারণাগুলি আপনি ইতিমধ্যেই ব্যবহার করছেন তার অনুরূপ দেখতে পাবেন৷
3) সুইফট হল দ্রুত . Apple দাবি করে যে সুইফটে সার্চ অ্যালগরিদমগুলি অবজেক্টিভ-সি-এর চেয়ে 2.6 গুণ দ্রুত এবং পাইথনের চেয়ে 8.4 গুণ দ্রুত সম্পন্ন হয়৷
4) সুইফট নিরাপদ . আপনি যখন ভাষা নিয়ে কাজ করেন, তখন আপনার কোনো অনিরাপদ কোড পাওয়া উচিত নয় এবং আপনার অ্যাপে প্রয়োজনীয় নিরাপত্তা বজায় রাখতে আধুনিক প্রোগ্রামিং কনভেনশন ব্যবহার করবেন।
5) খেলার মাঠ . এক্সকোড খেলার মাঠ নামক একটি বৈশিষ্ট্যের সাথে আসে যেখানে সুইফট 5 প্রোগ্রামাররা কোড লিখতে পারে এবং অবিলম্বে ফলাফল দেখতে পারে। এখানে কিভাবে সুইফট খেলার মাঠ ব্যবহার করবেন।
6) সুইফট 5 হল ভবিষ্যৎ-প্রমাণ , এবং আপনাকে বিভিন্ন প্ল্যাটফর্মের জন্য বিকাশ করতে দেয়:iOS, macOS, watchOS এবং tvOS৷
7) সুইফট নিরন্তর উন্নতি করছে প্রতিটি আপডেটের সাথে। সুইফট 5 দীর্ঘ প্রতীক্ষিত ABI স্থিতিশীলতা নিয়ে এসেছে, যার অর্থ ভবিষ্যতে সুইফট কম্পাইলাররা সুইফট 5 এবং তার উপরে লেখা কোড কম্পাইল করতে সক্ষম হবে এবং সুইফটের নতুন সংস্করণে কোড স্থানান্তর ডেভেলপারদের জন্য কম বেদনাদায়ক হবে। এর মানে হল যে ওএস বিক্রেতারা অপারেটিং সিস্টেমে সুইফট স্ট্যান্ডার্ড লাইব্রেরি এম্বেড করতে সক্ষম হবে এবং এটি সুইফট 5 এবং নতুন সংস্করণের সাথে নির্মিত সমস্ত অ্যাপ্লিকেশনের সাথে সামঞ্জস্যপূর্ণ হবে৷
আমরা সম্ভবত WWDC 2019-এ আরও সুইফট ডেভেলপমেন্ট শুনতে পাব।
কিভাবে সুইফট 5 দিয়ে শুরু করবেন
iOS-এর জন্য অ্যাপস ডেভেলপ করার জন্য, আপনার প্রয়োজন হবে একটি ম্যাক (ম্যাকবুক, আইম্যাক বা ম্যাক মিনি) এবং বিনামূল্যের সফ্টওয়্যার যার নাম Xcode (সংস্করণ 10.2 বা উচ্চতর)। শুরু করতে নিচের ধাপগুলি অনুসরণ করুন:
- আপনার ডেস্কটপে ম্যাক অ্যাপ স্টোর খুলুন।
- সার্চ বারে 'Xcode' সার্চ করুন।
- এক্সকোড আইকনের পাশে 'পান' এ ক্লিক করুন।
- এছাড়াও আপনি আপনার ব্রাউজারে ম্যাক অ্যাপ স্টোরে Xcode খুঁজে পেতে পারেন।
অনলাইন কম্পাইলার
আপনি যদি আপনার অ্যাপ্লিকেশানগুলি স্থাপন করার পরিকল্পনা না করেন তবে আপনি সর্বদা একটি সুইফ্ট অনলাইন কমপ্লায়ার ব্যবহার করতে পারেন৷ এটি সুইফট কোড শেখার এবং কার্যকর করার একটি দুর্দান্ত উপায়৷
- অনলাইন সুইফ্ট খেলার মাঠ সুইফট 5 সমর্থন করে এবং এটি আপনাকে কোড পরীক্ষা এবং কার্যকর করতে দেয়।
- Repl.it-এর একটি অনলাইন কম্পাইলার রয়েছে যা লেখার সময় (মে 2019) সুইফট 4.2 সমর্থন করে কিন্তু শীঘ্রই একটি আপডেট হবে৷
কিভাবে সুইফটে একটি সাধারণ অ্যাপ লিখবেন
Xcode খুলুন, এবং ফাইল> নতুন> প্রকল্প নির্বাচন করুন . একক দৃশ্য অ্যাপ নির্বাচন করুন টেমপ্লেট তালিকা থেকে।
আপনার অ্যাপের জন্য একটি নাম এবং প্রতিষ্ঠানের নাম লিখুন (এটি আপনার কোম্পানির নাম বা আপনার নিজের নাম হতে পারে)। প্রতিষ্ঠান শনাক্তকারী সাধারণত বিপরীত ক্রমে আপনার কোম্পানির URL হয় - উদাহরণস্বরূপ com.mycompany.myapp .
ভাষা হিসাবে সুইফট নির্বাচন করুন এবং পরবর্তী ক্লিক করুন . অবশেষে, আপনার ম্যাকের অবস্থান নির্বাচন করুন যেখানে আপনি প্রকল্প তৈরি করতে Xcode চান৷
৷
প্রকল্পটি তৈরি করার পরে আপনাকে নিম্নলিখিত স্ক্রিনটি উপস্থাপন করা হবে:
এখানে, আপনি একটি সাধারণ অ্যাপ তৈরি করবেন, যেখানে ব্যবহারকারী একটি টেক্সট ফিল্ডের মধ্যে তাদের নাম লিখতে পারবেন এবং একটি বোতাম চাপলে একটি সাধারণ অভিবাদন পাবেন৷
শুরু করতে, Main.storyboard-এ যান৷ বাম ফলকে ফাইল। আপনি একটি খালি ভিউ দেখতে পাবেন। অবজেক্ট লাইব্রেরি খুলতে উপরের ডানদিকের বৃত্তাকার বোতামে ক্লিক করুন। ভিউতে একটি পাঠ্য ক্ষেত্র, লেবেল এবং বোতাম টেনে আনুন।
ভিউ হায়ারার্কিতে বোতামটি নির্বাচন করুন এবং ডানদিকের ইউটিলিটি এলাকায় "অভিবাদন তৈরি করুন" এর শিরোনাম সেট করুন৷
ViewController.swift-এ ডাবল-ক্লিক করুন ফাইল এটি একটি পৃথক উইন্ডোতে খুলবে৷
৷এখন ভিউতে পাঠ্য ক্ষেত্রটি নির্বাচন করুন এবং Ctrl ধরে রাখুন এবং ভিউ কন্ট্রোলারের শীর্ষে টেনে আনুন ক্লাস আপনাকে টেক্সট ফিল্ডের জন্য একটি IBOoutlet তৈরি করতে বলা হবে। এটিকে "টেক্সটফিল্ড" বলুন।
লেবেলের জন্য একই কাজ করুন এবং IBOutlet "লেবেল" নাম দিন। আপনাকে বোতামের জন্যও একই কাজ করতে হবে, তবে এটিকে ভিউ কন্ট্রোলারের শীর্ষে টেনে আনার পরিবর্তে , একটি IBAction পদ্ধতি তৈরি করতে এটিকে নীচে টেনে আনুন। পদ্ধতির নাম দিন "বাটনটেপড।"
IBOoutlets আমাদের কোডে স্টোরিবোর্ডের কন্ট্রোল অ্যাক্সেস করতে ব্যবহার করা হয় এবং ট্যাপের মতো বোতাম ইভেন্টগুলিতে প্রতিক্রিয়া করার জন্য IBAction পদ্ধতি ব্যবহার করা হয়।
বোতামে ট্যাপ করা নিচের কোডটি যোগ করুন আপনার ভিউ কন্ট্রোলারের পদ্ধতি ক্লাস:
যদি let name =textField.text {
self.label.text ="হ্যালো" + নাম
}
এই পরিবর্তনের পরে ViewController.swift ফাইলটি দেখতে কেমন হওয়া উচিত:
আপনি এখন অ্যাপটি চালানোর জন্য প্রস্তুত। রান বোতাম টিপুন, এবং অ্যাপটি সিমুলেটরে চালু হবে।
ব্যবহারকারী যখন টেক্সট ফিল্ডে তাদের নাম যোগ করে এবং বোতামে ট্যাপ করে, তখন নিচের লেবেলটি লেখা নামের সাথে "হ্যালো" প্রদর্শন করবে।
Swift 5 ধারণা (বেসিক এবং অ্যাডভান্সড)
আমরা একটি সহজ অ্যাপ তৈরি করেছি। এখন চলুন কিছু পদ্ধতি এবং কোড স্নিপেটের দিকে এগিয়ে যাই যা আপনি আপনার নিজের অ্যাপ প্রকল্পে ব্যবহার করতে পারেন।
Swift এ পাঠ্য মুদ্রণ
মুদ্রণ ("হ্যালো, বিশ্ব!")৷
ভেরিয়েবলের সংজ্ঞা
একটি ধ্রুবক তৈরি করতে 'লেট' ব্যবহার করুন এবং একটি পরিবর্তনশীল সংজ্ঞায়িত করতে 'var' ব্যবহার করুন। একটি ধ্রুবকের মান একবার বরাদ্দ করা হলে পরিবর্তন করা যায় না; একটি ভেরিয়েবলের মান পরিবর্তন হতে পারে। ব্যবহারকারীদের সবসময় স্পষ্টভাবে টাইপ লিখতে হবে না। আপনি যখন একটি ধ্রুবক বা পরিবর্তনশীল তৈরি করেন তখন একটি মান প্রদান করা কম্পাইলারকে এর ধরন অনুমান করতে দেয়।
constVar =42 দিন
var numberVar =27
বিকাশকারী প্রকারটিও নির্দিষ্ট করতে পারেন। নীচের উদাহরণে, আমরা একটি পূর্ণসংখ্যা ঘোষণা করছি।
var numberVar:Int =27
সুইফটে মন্তব্য
সুইফটে মন্তব্য দুই ধরনের হতে পারে।
একক লাইন:
//এটি একটি মন্তব্য
একাধিক লাইনের মন্তব্য:
/* এটি একটি
মাল্টিলাইন মন্তব্য */
সুইফটে সিদ্ধান্ত গ্রহণ
একটি if বিবৃতি-এর সিনট্যাক্স সুইফটে নিম্নরূপ:
যদি বুলিয়ান_এক্সপ্রেশন {
বুলিয়ান এক্সপ্রেশন সত্য হলে /* বিবৃতি(গুলি) কার্যকর হবে */
}
যেমন:
একটি if...else স্টেটমেন্ট এর সিনট্যাক্স সুইফট 5 এ নিম্নরূপ:
যদি বুলিয়ান_এক্সপ্রেশন {
বুলিয়ান এক্সপ্রেশন সত্য হলে /* বিবৃতি(গুলি) কার্যকর হবে */
} অন্য {
বুলিয়ান এক্সপ্রেশন মিথ্যা হলে /* বিবৃতি(গুলি) কার্যকর হবে*/
}
যেমন:
একটি if...else if...else স্টেটমেন্ট এর সিনট্যাক্স সুইফট 5 এ নিম্নরূপ:
যদি বুলিয়ান_এক্সপ্রেশন_1
/* বুলিয়ান এক্সপ্রেশন 1 সত্য হলে কার্যকর হয় */
} অন্যথায় যদি boolean_expression_2 {
/* বুলিয়ান এক্সপ্রেশন 2 সত্য হলে এক্সিকিউট হয় */
} অন্যথায় যদি বুলিয়ান_এক্সপ্রেশন_3 {
/* বুলিয়ান এক্সপ্রেশন 3 সত্য হলে কার্যকর হয় */
} অন্য {
/* এক্সিকিউট হয় যখন উপরের কোন শর্তই সত্য হয় না */
}
যেমন:
বিবৃতি পরিবর্তন করুন
সুইফ্ট 5-এ উপলব্ধ সুইচ স্টেটমেন্টের একটি জেনেরিক সিনট্যাক্স নিচে দেওয়া হল। এখানে যদি ফলথ্রু ব্যবহার করা হয় তাহলে এটি পরবর্তী কেসের কার্য সম্পাদনের সাথে চলতে থাকবে এবং তারপরে সুইচ স্টেটমেন্ট থেকে বেরিয়ে আসবে।
অভিব্যক্তি পরিবর্তন করুন {
কেস এক্সপ্রেশন1 :
বিবৃতি(গুলি)
fallthrough /* ঐচ্ছিক */
case expression2, expression3 :
বিবৃতি(গুলি)
fallthrough /* ঐচ্ছিক */
ডিফল্ট :/* ঐচ্ছিক */
বিবৃতি(গুলি);
}
যেমন:
অ্যারে
বর্গাকার বন্ধনী ব্যবহার করে অ্যারে এবং অভিধান তৈরি করুন - যেমন [ এবং ] - এবং বন্ধনীতে সূচক বা কী লিখে তাদের উপাদানগুলি অ্যাক্সেস করুন। নিম্নলিখিত লাইনটি একটি অ্যারে তৈরি করে৷
৷var arrayList =["Swift", "JavaScript", "Java", "PHP"]
একটি অ্যারের দ্বিতীয় উপাদান অ্যাক্সেস এবং পরিবর্তন করতে আমরা সরাসরি লিখতে পারি:
arrayList[2] ="প্রতিক্রিয়া নেটিভ"
একটি খালি অ্যারে তৈরি করতে, ইনিশিয়ালাইজার সিনট্যাক্স ব্যবহার করুন।
var emptyArray =[স্ট্রিং]()
খালি অ্যারে =[]
অভিধানসমূহ
var পেশা =["স্টিভ":"ডেভেলপার", "কেট":"ডিজাইনার",]
একটি অভিধানের জন্য যেকোনো মান অ্যাক্সেস এবং পরিবর্তন করতে আমরা সরাসরি লিখতে পারি:
পেশা["স্টিভ"] ="CTO"
একটি খালি অভিধান তৈরি করতে, ইনিশিয়ালাইজার সিনট্যাক্স ব্যবহার করুন।
পেশা =[:]
সেট
সুইফটের সেটগুলি অ্যারের মতোই কিন্তু সেগুলিতে শুধুমাত্র অনন্য মান রয়েছে৷
var a :সেট =[1,2,3,4,5,6,7,8,9,0]
সুইফট ঐচ্ছিক প্রকারেরও প্রবর্তন করে, যা একটি মানের অনুপস্থিতি পরিচালনা করে। ঐচ্ছিক বলে যে হয় "একটি মান আছে, এবং এটি x সমান" বা "কোনও মান নেই"। আপনি '?' দিয়ে একটি ঐচ্ছিক সংজ্ঞায়িত করতে পারেন। অথবা '!'
var myString:String?
'?' মানে মান উপস্থিত বা অনুপস্থিত হতে পারে।
'!' মানে প্রাথমিকভাবে মানটি শূন্য হতে পারে, কিন্তু ভবিষ্যতে যখন এটি ব্যবহার করা হবে তখন এটির একটি মান থাকতে হবে, অথবা এটি একটি রানটাইম ত্রুটি তৈরি করবে৷
কোন চিহ্নের অর্থ হল ভেরিয়েবলটি ঐচ্ছিক নয় এবং এটিকে একটি মান বরাদ্দ করতে হবে, অথবা এটি একটি কম্পাইলার ত্রুটি তৈরি করবে৷
ফাংশন
সুইফটে একটি ফাংশন তৈরি করার জন্য নিম্নোক্ত সিনট্যাক্স রয়েছে:ইনপুটনাম হল প্যারামিটারের নাম যা DataType অনুসরণ করে, 'createStr' হল ফাংশনের নাম। '-> স্ট্রিং' রিটার্ন টাইপ বোঝায়। ফাংশনটি পূর্ণসংখ্যাকে ইনপুট হিসাবে নেয় এবং এটিকে স্ট্রিং-এ রূপান্তর করে এবং ফেরত দেয়।
func createStr(Number inputNum :Int) -> স্ট্রিং
{
"\(inputNum)" ফেরত দিন
}
নিচের সিনট্যাক্স ব্যবহার করে ফাংশনটিকে কল করা যেতে পারে:
createStr(Number:345)
ক্লাস
ক্লাস কার তৈরি করার জন্য সিনট্যাক্স নিচে দেওয়া হল। এটিতে একটি ঐচ্ছিক সদস্য ভেরিয়েবল numOfPersons এবং একটি ফাংশন displayDetails()
ক্লাস কার
{
var numOfPersons :Int?
func displayDetails() {
}
}
নিচের লাইনটি ব্যবহার করে ক্লাস ইনস্ট্যান্স তৈরি করা যেতে পারে:
var myCar :Car =Car()
'numOfPersons' ভেরিয়েবলটি নীচের মতো শুরু করা যেতে পারে:
myCar.numOfPersons =5
সুইফটে বন্ধ
ক্লোজারগুলি হল ব্লক হিসাবে সংগঠিত বেনামী ফাংশন এবং C এবং Objective-C ভাষার মতো যে কোনও জায়গায় বলা হয়। ক্লোজারগুলি ভেরিয়েবলগুলিতে বরাদ্দ করা যেতে পারে। সুইফটে ক্লোজারের সিনট্যাক্স নিচে দেওয়া হল।
{
(প্যারামিটার) -> রিটার্ন টাইপ ইন
বিবৃতি
}
নীচে একটি সহজ উদাহরণ. এখানে আমরা scname ভেরিয়েবলের জন্য একটি ক্লোজার বরাদ্দ করছি . তারপর পরবর্তী লাইনে আমরা ভেরিয়েবলের নাম দিয়ে ক্লোজারকে কল করছি।
এক্সটেনশন
সুইফটে আমরা এক্সটেনশনের সাহায্যে বিদ্যমান শ্রেণী, কাঠামো বা গণনার প্রকারের কার্যকারিতা প্রসারিত করতে পারি। টাইপ কার্যকারিতা এক্সটেনশনের সাথে যোগ করা যেতে পারে কিন্তু কার্যকারিতা ওভাররাইড করা এইভাবে সম্ভব নয়৷
নীচের উদাহরণে আমাদের একটি ক্লাস কার আছে এবং আমরা গাড়িতে একটি এক্সটেনশন যোগ করছি যাতে এটিতে আরেকটি সম্পত্তি যোগ করা যায়। গতি বৈশিষ্ট্য অ্যাক্সেস করার সময়, এটি সরাসরি অ্যাক্সেস করা যেতে পারে যেন এটি ক্লাসের অন্তর্গত।
টিপলস
টিপল টাইপ একটি একক যৌগিক মানের একাধিক মানকে গোষ্ঠীভুক্ত করতে ব্যবহৃত হয়। এখানে একটি Tuple ঘোষণার সিনট্যাক্স রয়েছে:
var TupleName =(Value1, value2,… যেকোনো সংখ্যক মান)
এখানে একটি Tuple ঘোষণা:
var error501 =(501, "বাস্তবায়িত হয়নি")
Swift 5-এ নতুন বৈশিষ্ট্য
আসুন সুইফট 5-এর নতুন উপাদানগুলিকে আরও বিশদে দেখি৷
৷কাঁচা স্ট্রিংস
সুইফট 5 আমাদের কাছে কাঁচা স্ট্রিং নিয়ে আসে, একটি বৈশিষ্ট্য যা আগের সুইফ্ট সংস্করণগুলির মতো এস্কেপ সিকোয়েন্স ব্যবহার করার প্রয়োজন ছাড়াই উদ্ধৃতি চিহ্ন এবং ব্যাকস্ল্যাশ ধারণ করে এমন স্ট্রিং তৈরি করা সহজ করে তোলে। কাঁচা স্ট্রিংগুলিতে, উদ্ধৃতি চিহ্ন এবং ব্যাকস্ল্যাশগুলিকে আক্ষরিক অর্থে স্ট্রিং টার্মিনেশন বা এস্কেপ অক্ষর হিসাবে ব্যাখ্যা করার পরিবর্তে সেই চিহ্ন হিসাবে ব্যাখ্যা করা হয়৷
কাঁচা স্ট্রিং ব্যবহার করতে, আপনাকে শুধুমাত্র # যোগ করতে হবে স্ট্রিং এর শুরুতে এবং শেষে:
কারণ কাঁচা স্ট্রিংগুলিতে ব্যাকস্ল্যাশকে একটি আক্ষরিক প্রতীক হিসাবে ব্যাখ্যা করা হয়, কাঁচা স্ট্রিংগুলিতে স্ট্রিং ইন্টারপোলেশন ব্যবহার করতে আপনাকে আরেকটি # যোগ করতে হবে ব্যাকস্ল্যাশ চিহ্নের পরে:
আপনি যদি "# ব্যবহার করতে চান একটি কাঁচা স্ট্রিং এর ভিতরে একসাথে ক্রম আপনাকে ## যোগ করতে হবে স্ট্রিং এর শুরুতে এবং শেষে:
পূর্ণসংখ্যার গুণিতক খোঁজা
সুইফ্ট 4.2 এবং পূর্ববর্তী সংস্করণগুলিতে, একটি সংখ্যা অন্য একটির গুণিতক কিনা তা খুঁজে বের করতে, আপনাকে মডুলো অপারেটর (%) ব্যবহার করতে হবে। এখন সুইফ্ট 5-এ, এটির জন্য একটি উত্সর্গীকৃত পদ্ধতি রয়েছে, যা কোডটিকে আরও স্পষ্ট করে তোলে:
ভবিষ্যত enum কেস পরিচালনা করা
সুইফ্টে স্যুইচ স্টেটমেন্ট সর্বদা সম্পূর্ণ হতে হবে। এর মানে হল যে আপনাকে সর্বদা সমস্ত enum কেস পরিচালনা করতে হবে বা ডিফল্ট যোগ করে শুধুমাত্র নির্দিষ্ট কেস পরিচালনা করতে হবে কেস যা অন্য সব কেস পরিচালনা করে:
এই পদ্ধতির সমস্যা হল যে ভবিষ্যতে বিকাশকারী যদি enum-এ অন্য কেস যোগ করার সিদ্ধান্ত নেয়, তাহলে কম্পাইলারের দ্বারা নতুন কেস যোগ করা হয়েছে এমন কোনো সতর্কতা থাকবে না। এর মানে হল নতুন কেস ডিফল্ট দ্বারা পরিচালিত হবে৷ কেস যা সবসময় এমন কিছু নয় যা আপনি চান।
এই সমস্যাটির সমাধান করতে, একটি নতুন @unknown সুইফট 5-এ অ্যাট্রিবিউট যোগ করা হয়েছে। আপনি ডিফল্ট কেসের সাথে এই অ্যাট্রিবিউটটি ব্যবহার করেন।
@unknown এর সাথে সুইচ স্টেটমেন্টে ডিফল্ট ক্ষেত্রে, কম্পাইলার একটি সতর্কতা জারি করবে যদি ভবিষ্যতে enum-এ একটি নতুন কেস যুক্ত করা হয়। এইভাবে, ডেভেলপার সিদ্ধান্ত নিতে পারে নতুন কেস পরিচালনা করবে কি না।
নেস্টেড ঐচ্ছিক সমতলকরণ
নেস্টেড ঐচ্ছিকগুলি ট্রাই? ব্যবহার করে থ্রো করা কোড পরিচালনা করে তৈরি করা যেতে পারে . Swift 5-এ, নেস্টেড ঐচ্ছিকটিকে একটি নিয়মিত ঐচ্ছিক রূপে সমতল করা হয়েছে। এটি শর্তাধীন টাইপ-কাস্টিং এবং ঐচ্ছিক চেইনিংয়ের আচরণের সাথে মেলে।
উপরের উদাহরণে, আপনি দেখতে পাচ্ছেন যে মডেল ভেরিয়েবলটি স্ট্রিং? ধরনের এবং না স্ট্রিং? যেমনটি সুইফট 4.2 এ ছিল।
স্ট্যান্ডার্ড লাইব্রেরিতে ফলাফলের ধরন
সুইফট 5-এ, ফলাফল টাইপ স্ট্যান্ডার্ড লাইব্রেরিতে যোগ করা হয়েছে। ফলাফল টাইপ আপনাকে অ্যাসিঙ্ক্রোনাস কোডে ত্রুটিগুলি পরিচালনা করার একটি পরিষ্কার এবং সহজ উপায় দেয়। এটি সাফল্য সহ একটি enum হিসাবে প্রয়োগ করা হয়৷ এবং ব্যর্থতা মামলা উভয় ক্ষেত্রেই জেনেরিক ব্যবহার করে প্রয়োগ করা হয়। সফল ক্ষেত্রে ব্যর্থতা থাকাকালীন যেকোনো প্রকারের একটি সম্পর্কিত মান থাকতে পারে ক্ষেত্রের একটি সংশ্লিষ্ট মান থাকতে হবে যা ত্রুটি এর সাথে সামঞ্জস্যপূর্ণ প্রোটোকল এখানে একটি উদাহরণ যা ফলাফল-এর ব্যবহার প্রদর্শন করে৷ প্রকার:
উপরের উদাহরণে, আমরা একটি সহজ ApiClient প্রয়োগ করেছি যা একটি URL থেকে নাম আনে। মনে রাখবেন যে fetchNames-এ দ্বিতীয় প্যারামিটার ফাংশন হল একটি সমাপ্তি বন্ধ যা একটি ফলাফল গ্রহণ করে টাইপ ফলাফল আমাদের উদাহরণে টাইপ করুন [স্ট্রিং] ব্যবহার করে সাফল্যের ক্ষেত্রে এবং ApiError এর জন্য ব্যর্থতার ক্ষেত্রে।
এখন, আমরা উপরের কোডটি এভাবে ব্যবহার করতে পারি:
সুইফটের অন্যান্য বৈশিষ্ট্যগুলি
আমরা আগের সংস্করণে সুইফটের সর্বশেষ সংস্করণে নতুন বৈশিষ্ট্যগুলি দেখেছি। তবে পুরানো সংস্করণগুলি থেকে বেঁচে থাকা বৈশিষ্ট্যগুলি সম্পর্কে এখনও জানা মূল্যবান। এখানে কিছু হাইলাইট রয়েছে যা Swift 4 এ যোগ করা হয়েছে:
স্ট্রিংস
সুইফট 4 অনুযায়ী, স্ট্রিং কালেকশন প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ, এবং আপনি সরাসরি স্ট্রিং এর উপর পুনরাবৃত্তি করতে পারেন। এর মানে আপনি স্ট্রিং-এ যেকোনও কালেকশন পদ্ধতি এবং বৈশিষ্ট্য ব্যবহার করতে পারেন, যেমন count, isEmpty, map(), filter(), index(of:) ইত্যাদি।
পরিবর্তে ট্রিপল উদ্ধৃতি ব্যবহার করে একাধিক লাইন স্ট্রিংগুলির জন্য সুইফ্ট সম্পূর্ণ ভিন্ন পদ্ধতি গ্রহণ করে, তাই আপনাকে আর দ্বিগুণ উদ্ধৃতিগুলি এড়াতে হবে না:
JSON এনকোডিং এবং ডিকোডিং
সুইফট 4 পুরো JSON আর্কাইভাল এবং সিরিয়ালাইজেশন প্রক্রিয়াটিকে সরল করেছে যা আপনি সুইফট 3 এ ব্যবহার করেছিলেন। এখন আপনাকে শুধুমাত্র আপনার কাস্টম প্রকারগুলি কোডেবল প্রোটোকল প্রয়োগ করতে হবে - যা এনকোডেবল এবং ডিকোডেবল উভয়কে একত্রিত করে।
স্মার্ট কী পাথ
সুইফ্ট 4 মূল পাথ সহ একটি বস্তুর বৈশিষ্ট্যগুলি অ্যাক্সেস করা সহজ করে তুলেছে৷
প্রোটোকলের সাথে ক্লাস মিশ্রিত করা
ধ্রুবক এবং ভেরিয়েবল তৈরি করার সময় আপনি সুইফট 3-এ প্রোটোকলগুলিকে একত্রিত করতে পারেন। সুইফ্ট 4 আরও এক ধাপ এগিয়ে গেছে এবং একই সিনট্যাক্স ব্যবহার করে আপনাকে মিশ্রণে ক্লাস যোগ করতে দেয়। আপনি অবজেক্টিভ-সি-এর মতো একইভাবে একটি নির্দিষ্ট অবজেক্টকে একটি ক্লাস এবং একটি প্রোটোকলের জন্য সীমাবদ্ধ করতে পারেন৷
swap বনাম swapAt
swap(_:_:) সুইফট 3-এ মিউটেটিং পদ্ধতি একটি নির্দিষ্ট অ্যারের দুটি উপাদান নেয় এবং সেগুলিকে ঘটনাস্থলে অদলবদল করে। এই সমাধানটির একটি প্রধান ত্রুটি রয়েছে:অদলবদল করা উপাদানগুলি ইনপুট পরামিতি হিসাবে ফাংশনে প্রেরণ করা হয় যাতে এটি সরাসরি তাদের অ্যাক্সেস করতে পারে।
সুইফ্ট 4 পদ্ধতিটিকে একটি swapAt(_:_:) দিয়ে প্রতিস্থাপন করে সম্পূর্ণ ভিন্ন পদ্ধতি গ্রহণ করে যা দুটি উপাদানের সংশ্লিষ্ট সূচকগুলি নেয় এবং ঠিক আগের মতোই অদলবদল করে৷
অভিধান এবং সেট
আপনি অভিধানের init(uniqueKeysWithValues:) ব্যবহার করতে পারেন টিপলস অ্যারে থেকে একেবারে নতুন অভিধান তৈরি করতে ইনিশিয়ালাইজার৷
Swift 5 প্রোগ্রামিং সম্পর্কে আরও জানার সেরা জায়গা
সুইফট 5 ব্যবহার করে অ্যাপ্লিকেশান তৈরি করা শুরু করতে আপনাকে সাহায্য করার জন্য অনেকগুলি সংস্থান রয়েছে৷ কিছু সেরা বিকল্পগুলি নীচে তালিকাভুক্ত করা হয়েছে:
অ্যাপল ডকুমেন্টেশন: Swift 5 শেখার সর্বোত্তম জায়গা হল অ্যাপলের সুইফটের অফিসিয়াল ডকুমেন্টেশন।
ইবুক: অ্যাপল একটি আপ-টু-ডেট ইবুক প্রকাশ করেছে যা সুইফট 5:সুইফট প্রোগ্রামিং ল্যাঙ্গুয়েজ (সুইফট 5.0) শেখার সময় অত্যন্ত কার্যকর।
উডেমি :সবচেয়ে বড় অনলাইন ভিডিও শেখার পরিষেবাটিতে বেশ কয়েকটি কোর্স রয়েছে যা সুইফটের বিভিন্ন সংস্করণ কভার করে৷ সুইফট 5:
কভার করা কয়েকটি এখানে রয়েছে- শিশুদের জন্য সুইফট 5 প্রোগ্রামিং
- iOS 12 এবং Swift 5:একটি টু ডু লিস্ট অ্যাপ তৈরি করুন
সহজ ধাপে সুইফট প্রোগ্রামিং - iOS 12 এবং Swift 5 কভার করে: এই নিবন্ধটির লেখকের এই বইটি আপনাকে শিখাবে কিভাবে স্ক্র্যাচ থেকে Swift 5 ব্যবহার করে iOS অ্যাপ তৈরি করতে হয় এবং এটি সম্পূর্ণরূপে চিত্রিতও করা হয়েছে। আপনি Amazon থেকে একটি অনুলিপি পেতে পারেন.
সুইফট দিয়ে হ্যাকিং: সুইফটের সাথে উন্নয়ন সম্পর্কে শেখার একটি দুর্দান্ত উপায় হল হ্যাকিং উইথ সুইফট ওয়েবসাইটে বইগুলি ব্যবহার করা৷ এটি পল হাডসন দ্বারা রক্ষণাবেক্ষণ করা হয়, একজন দুর্দান্ত সুইফ্ট বিকাশকারী এবং উত্সাহী৷
৷আমরা একটি পৃথক নিবন্ধে আরও সংস্থান পেয়েছি:কীভাবে সুইফট শিখবেন।