线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x176b)
问题描述:
当我尝试做一个简单的应用程序,我得到这个错误:线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x176b)
@IBAction func pickButton(sender: UIButton) {
numberLabel.text = String(format: "The number is %@", randomNumber) Thread 1: EXC_BAD_ACCESS (code=1, address=0x176b)
}
下面是完整的代码:
import UIKit
class ViewController2: UIViewController {
@IBOutlet weak var numberLabel: UILabel!
@IBOutlet weak var pickButton: UIButton!
var randomNumber = arc4random_uniform(10000) + 1
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func pickButton(sender: UIButton) {
numberLabel.text = String(format: "The number is %@", randomNumber)
}
}
请帮忙,我不知道该怎么办。
答
的%@
格式是用于打印Foundation对象如NSString
, NSNumber
等
var randomNumber = arc4random_uniform(10000) + 1
是UInt32
和印刷有%u
为 “无符号整数”:
numberLabel.text = String(format: "The number is %u", randomNumber)
替代地,使用%@
并将整数转换为NSNumber
:
numberLabel.text = String(format: "The number is %@", NSNumber(unsignedInt: randomNumber))
但在你的情况最简单的解决方法是使用串插:
numberLabel.text = "The number is \(randomNumber)"