我是swift的初学者,我遇到了将字符串转换为UInt32的问题。
let Generator = (ReadableJSON ["People"] [Person]["F1"].string! as NSString).doubleValue
if Generator == 1 {
NameLabel1 = ReadableJSON ["People"] [Person]["A1"].string as String!
NameImeNaObekt = ReadableJSON ["People"] [Person] ["B1"].string as String!
Picture = ReadableJSON ["People"] [Person] ["E1"].string as String!
} else {
let RGen = arc4random_uniform ("\(Generator)") // here is the error
}
你会告诉我如何解决这个问题。问题出在最后一行,它是红色的,它表示无法将String类型的值转换为UInt32。
主要的想法是我正在读取JSON文件中的数字,我必须将此数字填充到arc4random_uniform中。
答案 0 :(得分:1)
arc4random_uniform(UInt32)
接受一个UInt32值,但是你正在向它传递一个String值
这会将您的号码转换为字符串
"\(Generator)"
最后一行应该是这样的
let RGen = arc4random_uniform (UInt32(Generator))
如果你想'RGen'是一个String,你可以这样做
"\(RGen)"
String(RGen)
答案 1 :(得分:-1)
var RGen= 0
let RGen =int( arc4random_uniform ("\(Generator)") )
或 让RGen =(arc4random_uniform(“(Generator)”))。toInt