Swift:在UILabel内部视图控制器中使用Int
我已经设置了一个if语句,它根据UILabel中存储的int值执行操作,但是,我的代码无法确定标签中int的值 这是因为if语句在viewdidload函数中运行。我基本上是在寻找如何将标签值传递给视图。我正在努力使它工作 代码如下:Swift:在UILabel内部视图控制器中使用Int,swift,xcode,Swift,Xcode,我已经设置了一个if语句,它根据UILabel中存储的int值执行操作,但是,我的代码无法确定标签中int的值 这是因为if语句在viewdidload函数中运行。我基本上是在寻找如何将标签值传递给视图。我正在努力使它工作 代码如下: override func viewDidLoad() { // If statement var NumberRead = Int(Number.text!) if NumberRead! <=
override func viewDidLoad()
{
// If statement
var NumberRead = Int(Number.text!)
if NumberRead! <= 2 {
Picture.image = Pic1
} else {
Picture.image = Pic2
}
}
@IBOutlet weak var Number: UILabel!
override func viewDidLoad()
{
//If语句
var NumberRead=Int(Number.text!)
if NumberRead!我认为问题不在于您在viewDidLoad中使用此代码,而在于您运行代码时UILabel为空,并且代码正在展开一个nil值。在使用if语句之前,您必须将UILabel编号设置为一个值
我不知道您希望数字标签中有什么值,但可以将其设置为初始值,例如0,或者当通过从另一个视图控制器分段调用此视图控制器时,传递标签应具有的值。然后代码应该可以正常工作。如何:
将默认图像设置为pic2,然后使用可选绑定检查该值
Picture.image = Pic2
if let numTxt = Number.text {
if let num = Int(numTxt) {
if num <= 2 {
Picture.image = Pic1
}
}
}
Picture.image=Pic2
如果让numText=Number.text{
如果让num=Int(numText){
如果Num 应该将数据和逻辑从视图中分离出来,将值放入标签并试图解释它是荒谬的。请考虑阅读MVC(Model VIEW Controller)模式,这是IOS的基础。
视图控制器应该有一个变量,比如说number
,以跟踪决定显示哪个图像的值
var number: Int = 0 {
didSet {
imageView.image = number <= 2 ? pic1 : pic2
label.text = "\(number)"
}
}
var编号:Int=0{
didSet{
imageView.image=number让为标签赋值的代码也更新图片的图像如何?您可以将该代码放入一个方法中,以便它们始终一起更新。