Man*_*n S -4 arrays if-statement ios swift
这是在条件语句中做的一种可能的方法吗
if let offer = self.offer_visitor_["Offer"], let video = self.offer_visitor_["VideoReward"], let bday = self.offer_visitor_["BirthdayReward"],let Promotional = self.offer_visitor_["promotional"]{
if !offer.isEmpty && !video.isEmpty && !bday.isEmpty && !Promotional.isEmpty{
return 4
}else if !offer.isEmpty && !bday.isEmpty && !video.isEmpty {
return 3
}else if !offer.isEmpty && !video.isEmpty && !Promotional.isEmpty {
return 3
}else if !offer.isEmpty && !bday.isEmpty && !Promotional.isEmpty {
return 3
}else if !video.isEmpty && !bday.isEmpty && !Promotional.isEmpty {
return 3
}else if !offer.isEmpty && !video.isEmpty {
return 2
}else if !offer.isEmpty && !bday.isEmpty {
return 2
}else if !offer.isEmpty && !Promotional.isEmpty{
return 2
}else if !video.isEmpty && !bday.isEmpty {
return 2
}else if !video.isEmpty && !Promotional.isEmpty {
return 2
}else if !bday.isEmpty && !Promotional.isEmpty {
return 2
}else if !offer.isEmpty {
return 1
}else if !video.isEmpty {
return 1
}else if !bday.isEmpty {
return 1
}else if !Promotional.isEmpty {
return 1
}else{
UIView.transition(with: self.noHistory_Label!,
duration: 0.35,
options: .transitionCrossDissolve,
animations: { [weak self] in
self?.noHistory_Label?.text = UserDefaults.language == "ar" ? ArabicLanguageFile.NoOffers : EnglishLanguageFile.NoOffers
}, completion: nil)
return 0
}
}else{
UIView.transition(with: self.noHistory_Label!,
duration: 1,
options: .transitionCrossDissolve,
animations: { [weak self] in
self?.noHistory_Label?.text = UserDefaults.language == "ar" ? ArabicLanguageFile.NoOffers : EnglishLanguageFile.NoOffers
}, completion: nil)
return 0
}
Run Code Online (Sandbox Code Playgroud)
如果动态值是使用这样的东西的方式
let count = [arrayData1["Available Offers"]?.count != 0, arrayData1["Redeemtion Offers"]?.count != 0, arrayData1["Redeemtion Vouchers"]?.count != 0, self.arrayData1[ “可用优惠券”]?.count != 0].filter { $0 == true }.count
地图过滤器
谢谢
据我了解,这只是一种计算这 4 件事中有多少不是空的非常复杂的方法。看起来很简单:
let emptyObjectCount = [offer, video, bday, promotional]
.filter { !$0.isEmpty }
.count
Run Code Online (Sandbox Code Playgroud)
尽管这些变量名称没有意义,但您应该改进它们。
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |