【问题标题】:Cannot assign a value of type '(UInt32)' to a value of type 'String?'无法将“(UInt32)”类型的值分配给“字符串?”类型的值
【发布时间】:2015-07-13 06:18:05
【问题描述】:

我是 iOS 编程的新手,我正在尝试使用 Swift 在 Xcode 中的两个数字之间进行随机化,我收到了这个错误:

无法将(UInt32) 类型的值分配给String 类型的值

当我使用print 方法时,它工作正常,但是当我分配一个标签来打印结果时,它给了我这个错误。

代码:

let lower : UInt32 = 10
let upper : UInt32 = 19
let randomNumber = arc4random_uniform(upper - lower) + lower
lblNum.text = (randomNumber)

【问题讨论】:

  • lblNum.text = "\(randomNumber)"
  • 在这种情况下,真正的答案应该是:完成有关 Swift 的入门教程或阅读一本书......

标签: ios iphone xcode swift


【解决方案1】:

你应该这样做

lblNum.text = "\(randomNumber)"

【讨论】:

    【解决方案2】:

    UILabel 属性 text 的类型为 String?。您正在尝试分配 UInt32 值,这是行不通的。正如您所写,错误消息是:

    无法将“(UInt32)”值分配给“String?”类型的值。

    您必须将UInt32 转换为String 然后分配。几种可能...

    lblNum.text = "\(randomNumber)"
    

    ...或...

    lblNum.text = String(randomNumber)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 2017-07-02
      • 2015-11-08
      相关资源
      最近更新 更多