簡體   English   中英

比較一下是否迅速?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM