2017-01-29 98 views
-1

是否有可能從我國的一些銀行網站獲取貨幣匯率,這是合法的嗎?Json從銀行賬戶分析快速3貨幣兌換值

製作一個應用程序指定給我的國家,並已嘗試了一個星期,但無法找到答案這是您可以告訴解決方案的代碼?

import UIKit 

class ViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource { 

    @IBOutlet weak var lblDisplay: UILabel! 
    @IBOutlet weak var txtField: UITextField! 
    @IBOutlet weak var pkrView: UIPickerView! 

    var myCurrency:[String] = [] 
    var myValue:[Double] = [] 
    var activeCurrency:Double = 0 

     override func viewDidLoad() { 
     super.viewDidLoad() 

    let url = URL(string: "http://ca-egypt.com") 
    let task = URLSession.shared.dataTask(with: url!) { (data, response, error)in 

    if error != nil{ 
     print("error is here!")    
     }else{ 
      if let content = data{  
      do{   
      let myJson = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject 
      if let rates = myJson["rates"] as? NSDictionary{ 

      var firstOne = true 

      for (key,value)in rates{ 
      self.myCurrency.append((key as? String)!) 
      self.myValue.append((value as? Double)!) 
        } 
       }      
       }catch{ 

       } 

      } 
     } 
      self.pkrView.reloadAllComponents() 
    } 
     task.resume() 


    } 

    @IBAction func btnCalculateAction(_ sender: UIButton) { 

     lblDisplay.text = String(Double(txtField.text!)! * activeCurrency) 

     } 


    func numberOfComponents(in pickerView: UIPickerView,umberOfRowsInComponent component: Int) -> Int { 
     return myCurrency.count 
    } 
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     return myCurrency.count 
    } 
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
     return myCurrency[row] 
    } 
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
     activeCurrency = myValue[row] 
    } 

} 

錯誤的圖片:

Screenshot

+0

請將錯誤消息添加爲純文本。所以它可以被索引並且可以從巫婆行搜索 – muescha

+0

它開始? – muescha

+0

抓取通常不合法 – muescha

回答

3

你好@Ali,而不是從一些銀行網站上獲取貨幣的匯率,你可以使用一些API,它是免費提供的,或者你可以利用付費API。而取決於貨幣匯率的偏離是非法的。他們不會允許某人獲得價值。

要獲得各國貨幣匯率使用Fixer.io,這是每天更新,是的,它是免費提供的。

Fixer.io是當前和歷史匯率,歐洲央行(ECB)公佈了免費JSON API。費率每天下午4點左右更新。

例子:

API鏈接:http://api.fixer.io/latest?base=USD

Alamofire.request("http://api.fixer.io/latest?base=USD") .responseJSON { response in 

       if let arr = response.result.value as? [String:AnyObject] 
       { 
        let usd_val = (arr["rates"]?["INR"] as? NSNumber)! 
        print(usd_val) 
       } 

      } 

通過這種方式,您可以解析JSON API,並使用此貨幣交換價值,如果你想獲得你的國家貨幣兌換價值,然後傳遞價值。

例如:要獲得日本的當前貨幣兌換值,然後通過它的價值。喜歡這個。 http://api.fixer.io/latest?base=JPY

希望它可以幫助你。