【发布时间】:2014-08-25 17:48:00
【问题描述】:
问题很长,请耐心等待......
我正在尝试创建一个用 Swift 编写的比特币代码和转换器。我正在使用下面的代码(与转换无关的位被删除 - 如果我遗漏了任何重要的内容,请告诉我)
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var USD: UITextField! //Amount of USD. Originally equals 1 bitcoin, can be changed by user.
@IBOutlet weak var BTC: UILabel! //Amount of bitcoins the entered amount of USD is worth. Originally 1.
func handler(response: NSURLResponse!, data : NSData!, error : NSError!) { //To fetch Bitcoin Price. This is functional.
if ((error) != nil) {
self.USD.text = "No Internet" // in case of error
} else {
var price = NSString(data:data, encoding:NSUTF8StringEncoding)
self.USD.text = price //set USD to be equal to price of 1 Bitcoin
}
override func viewDidLoad() {
//Sets up view
self.update() //Fetches Bitcoin Price. This works.
self.convert() //Begins convert method
var timer = NSTimer.scheduledTimerWithTimeInterval(120, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
}
func convert() {
var url = NSURL(string:"https://api.bitcoinaverage.com/ticker/USD/last")
var request = NSURLRequest(URL: url)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:handler)
var data = NSData(contentsOfURL:url);
while true {
if USD.text != data {
BTC.text = USD.text / NSString(data:data, encoding:NSUTF8StringEncoding)// Attempts to determine amount of bitcoin the USD amount is worth. ERROR HERE!
}
}
在带有注释“ERROR HERE”的那一行,我得到了错误
/Users/[My User]/Documents/dev/Newest Stuff/CryptoCoinTicker/CryptoCoinTicker/ViewController.swift:95:32: 'String' is not convertible to 'UInt8'
如果代码没有说明问题,我希望 BTC.text 的价值更改为与用户输入的 USD.text 金额相等(因此,如果比特币价值 500 美元,并且用户输入250.00,BTC.text 会说 0.5。
我需要做什么?为一个(可能)基本问题道歉,我只是一个新手。如果您需要更多信息,请告诉我。
提前致谢!
【问题讨论】:
标签: cocoa-touch swift nsstring ios8 xcode6