2015-07-10 418 views
1

如何將存儲電話號碼的變量分配給按鈕以調用該號碼?使用Swift撥打電話號碼

我正在使用Swift。這裏是我的代碼:

func base() { 

    var myBase = sharedDefaults!.objectForKey("base") as? String 

    if myBase != nil { 
     if myBase == "FRA" { 
      titleLabel.text = "FRANKFURT" 
      adressLabel.text = "some adress" 
      var phone = "+49123456 69 69804616" 
      coorPhone.setTitle("Duty Desk : \(phone)", forState: .Normal) 
      logoImage.image = UIImage(named: "flaggermany") 

     } else if myBase == "LHR" { 
      titleLabel.text = "LONDON" 
      adressLabel.text = "some adress" 
      var phone = "+44123456" 

      coorPhone.setTitle("Duty Desk : \(phone)", forState: .Normal) 

      logoImage.image = UIImage(named: "flaguk") 

     } 
    } 

    @IBAction func phoneButtonPressed(sender: AnyObject) { 
     // let telUrlString = "tel://" + phone 
     // UIApplication.sharedApplication().openURL(NSURL(string: "\  (telUrlString)")!) 
    } 

回答

1

您可以通過下面的類聲明,如下所示聲明聲明它的phone變量作爲一個全球性的爲你的類:

​​

通過聲明這種方式,你可以在任何地方訪問它在你的班級和現在你可以在你的函數這種方式將值分配給它:

func base() { 

    var myBase = sharedDefaults.objectForKey("base") as? String 

    if myBase != nil { 
     if myBase == "FRA" { 

      titleLabel.text = "FRANKFURT" 
      adressLabel.text = "some adress" 
      phone = "+49123456 69 69804616" 
      coorPhone.setTitle("Duty Desk : \(phone)", forState: .Normal) 
      logoImage.image = UIImage(named: "flaggermany") 


     } 
     else if myBase == "LHR" { 
      titleLabel.text = "LONDON" 
      adressLabel.text = "some adress" 
      phone = "+44123456" 
      coorPhone.setTitle("Duty Desk : \(phone)", forState: .Normal) 
      logoImage.image = UIImage(named: "flaguk") 

     } 
    } 
} 

之後,你可以使用這種方式到另一個功能:

@IBAction func phoneButtonPressed(sender: AnyObject) { 

    if let url = NSURL(string: "tel://\(phone)") { 
     UIApplication.sharedApplication().openURL(url) 
    } 
} 

希望這會對你有所幫助。

1
@IBAction func phoneButtonPressed(sender: UIButton) { 
    if let url = NSURL(string: "tel://\(phone)") { 
     UIApplication.sharedApplication().openURL(url) 
    } 
} 

,如果你定義變量的手機在你viewController.swift文件的頂部(以下級呼叫),您可以使用此代碼,這樣它可以在訪問功能。

+0

非常感謝你的工作 – birkyboy