[英]Compare if let in swift?
我用了這段代碼
if let breedVaccRecorddStr = self.petInfoDict.objectForKey("breedvaccinationrecord") {
}else{
ALToastView.toastInView(UIApplication.sharedApplication().keyWindow, withText: "No Data Found")
}
這是我的回應
{
breed = dabour;
breedvaccinationrecord = "";
"city_registration" = 123146515;
"date_of_birth" = "12-10-2014";
"emergency_contacts" = 1245749876;
gender = male;
"owner_name" = Environmental;
"pt_id" = 4150;
"pt_images" = "";
"pt_name" = demo123;
ptinfo = "http://www.petcsi.com/wp-content/uploads/2015/12/jacky42.jpg";
"prop_name" = "Bella Vida Estates";
"qr_tag" = 5215653454;
species = test;
"vaccination_records" = test123;
vaccinationrecord = "";
"vet_info" = "";
},
常量不能為nil,因此如果執行block則執行。 但我期望輸出“未找到數據”。 他們可能是該鍵中的圖片網址如何檢查?
您的問題不是很清楚,但是我猜您的問題是breedvaccinationrecord
包含一個空字符串,而不是nil。 if let
構造本身僅測試nil,這就是為什么它對您不起作用的原因。 但是,您也可以使用where
子句:
let value = self.petInfoDict.objectForKey("breedvaccinationrecord")
if let breedVaccRecorddStr = value where value != "" {
// do your stuff
} else {
ALToastView.toastInView(UIApplication.sharedApplication().keyWindow, withText: "No Data Found")
}
如果breedvaccinationrecord
為nil或為空字符串,則將執行else
。
您應該針對期望的nil值編寫另一個if語句。 如:
if let imageString = self.petInfoDict.objectForKey("ptInfo") as String {
//Do something with the string
}
else {
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.