সুইফট 3 এর সাহায্যে আপনি আপনার সমস্যা সমাধানের জন্য alচ্ছিক চেইনিং, স্যুইচ স্টেটমেন্ট বা alচ্ছিক প্যাটার্ন ব্যবহার করতে পারেন।
1. ব্যবহার if let
(alচ্ছিক বাঁধাই / chaচ্ছিক শৃঙ্খলা)
সুইফট প্রোগ্রামিং ভাষা ঐচ্ছিক chaining সম্পর্কে বলে:
একাধিক ক্যুরিয়াস একসাথে বেঁধে রাখা যেতে পারে, এবং যদি চেইনের কোনও লিঙ্ক শূন্য থাকে তবে পুরো শৃঙ্খলা কৃপণভাবে ব্যর্থ হয়।
অতএব, সহজতম ক্ষেত্রে, আপনি আপনার alচ্ছিক চেইন ক্রিয়াকলাপে একাধিক প্রশ্নের ব্যবহার করতে নিম্নলিখিত প্যাটার্নটি ব্যবহার করতে পারেন:
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
if let latitude = latitude as? Double, let longitude = longitude as? Double {
print(latitude, longitude)
}
// prints: 2.0 10.0
2. একটি সুইচ বিবৃতিতে tuples এবং মান আবদ্ধ ব্যবহার
একটি সাধারণ alচ্ছিক শৃঙ্খলার বিকল্প হিসাবে, স্যুইচ স্টেটমেন্ট টিউপস এবং মান বন্ধনের সাথে ব্যবহার করার সময় একটি জরিমানা দানাযুক্ত সমাধান দিতে পারে:
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
switch (latitude, longitude) {
case let (Optional.some(latitude as Double), Optional.some(longitude as Double)):
print(latitude, longitude)
default:
break
}
// prints: 2.0 10.0
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
switch (latitude, longitude) {
case let (latitude as Double, longitude as Double):
print(latitude, longitude)
default:
break
}
// prints: 2.0 10.0
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
switch (latitude as? Double, longitude as? Double) {
case let (.some(latitude), .some(longitude)):
print(latitude, longitude)
default:
break
}
// prints: 2.0 10.0
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
switch (latitude as? Double, longitude as? Double) {
case let (latitude?, longitude?):
print(latitude, longitude)
default:
break
}
// prints: 2.0 10.0
৩. if case
( alচ্ছিক প্যাটার্ন) সহ টিপলগুলি ব্যবহার করে
if case
( patternচ্ছিক প্যাটার্ন ) alচ্ছিক গণনার মানগুলি মোড়কে দেওয়ার জন্য একটি সুবিধাজনক উপায় সরবরাহ করে। একাধিক প্রশ্নের সাথে কিছু optionচ্ছিক শৃঙ্খলা সম্পাদনের জন্য আপনি এটি টিপলস সহ ব্যবহার করতে পারেন:
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
if case let (.some(latitude as Double), .some(longitude as Double)) = (latitude, longitude) {
print(latitude, longitude)
}
// prints: 2.0 10.0
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
if case let (latitude as Double, longitude as Double) = (latitude, longitude) {
print(latitude, longitude)
}
// prints: 2.0 10.0
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
if case let (.some(latitude), .some(longitude)) = (latitude as? Double, longitude as? Double) {
print(latitude, longitude)
}
// prints: 2.0 10.0
let dict = ["latitude": 2.0 as AnyObject?, "longitude": 10.0 as AnyObject?]
let latitude = dict["latitude"]
let longitude = dict["longitude"]
if case let (latitude?, longitude?) = (latitude as? Double, longitude as? Double) {
print(latitude, longitude)
}
// prints: 2.0 10.0