2015-11-26 3 views
0

Я какое-то время боролся с чем-то. Как я могу вернуть что-то во вложенной функции if? В приведенной ниже функции есть задача выяснить, имеет ли пользовательский файл подтвержденную карту или нет, если проверено == 1 (true), тогда верните true, иначе return false.Оператор возврата в вложенной функции

func userHasVerfifiedCard() -> Bool{ 
    let userDocument = users.documentWithID(Meteor.userID!) 
    if let card   = userDocument.valueForKey("profile")!["card"] { 
     print("has card") 
     if let verified = card!["verified"] as? Int { 
      print("card.verified as Int") 

      if verified == 1{ 
       print("card.verified == 1") 
       lastFourCreditCardLbl.text = card!["last4"] as? String 
       return true 
      }else { 
       return false 

      } 
     } 
    } 

ответ

2

ваш метод не будет ничего возвращать, если if let card не будет работать. Но в любом случае он должен вернуть bool.

func userHasVerfifiedCard() -> Bool { 
    let userDocument = users.documentWithID(Meteor.userID!) 
    if let card   = userDocument.valueForKey("profile")!["card"] { 
     print("has card") 
     if let verified = card!["verified"] as? Int { 
      print("card.verified as Int") 

      if verified == 1 { 
       print("card.verified == 1") 
       lastFourCreditCardLbl.text = card!["last4"] as? String 
       return true 
      } 
     } 
    } 
    return false 
} 
0

Попробуйте это и дайте мне знать, если это поможет ..!

func userHasVerfifiedCard() -> Bool{ 
     let userDocument = users.documentWithID(Meteor.userID!) 
     if let card   = userDocument.valueForKey("profile")!["card"], verified = card!["verified"] as? Int where verified == 1 { 
      return true 
     } else { 
      return false 
     } 
    } 
+2

Это трудно отладить – KML

Смежные вопросы