【发布时间】:2014-07-31 10:14:09
【问题描述】:
我有这个表达式,它返回一个UInt32:
let randomLetterNumber = arc4random()%26
我希望能够在这个 if 语句中使用数字:
if letters.count > randomLetterNumber{
var randomLetter = letters[randomLetterNumber]
}
这个问题是控制台给了我这个
Playground execution failed: error: <REPL>:11:18: error: could not find an overload for '>' that accepts the supplied arguments
if letters.count > randomLetterNumber{
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
问题是UInt32 无法与Int 进行比较。我想将randomLetterNumber 转换为Int。我试过了:
let randomLetterUNumber : Int = arc4random()%26
let randomLetterUNumber = arc4random()%26 as Int
这些都导致could not find an overload for '%' that accepts the supplied arguments.
如何转换值或在 if 语句中使用它?
【问题讨论】: