2016-02-21 38 views
0

我用这个代码比较,如果让在迅速?

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" = ""; 
    }, 

常量不能是零,因此执行,如果块。但我期待输出“没有数据”。他们可能是图像URL在那个关键如何检查这个?

回答

1

你的问题不是很清楚,但我猜,你的问题是breedvaccinationrecord包含一个空字符串,而不是零。 if let构造本身只测试零,这就是为什么它不适合你。但是,你也可以使用一个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") 
} 

这将执行else如果breedvaccinationrecord是零或空字符串。

+0

breedvaccinationrecord give may image url我想检查它没有。 –

+0

你的代码已经检查'breedvaccinationrecord'不是零。我不明白你的问题。 – Michael

+0

我得到“”字符串如果让块。 –

0

如果您希望得到nil值的let语句,您应该另外编写一个。如:

if let imageString = self.petInfoDict.objectForKey("ptInfo") as String { 
//Do something with the string 
} 
else { 

}