Ios 条件绑定中的绑定值必须是可选类型
如果让randNumber=arc4random\u uniform(UInt32(count))这一行出现错误 条件绑定中的绑定值必须是可选类型 我可能错了,但我认为我必须将UInt32值更改为可选值,但如果是这种情况,我该怎么做?如果不是,那么我需要更改什么以成为可选类型Ios 条件绑定中的绑定值必须是可选类型,ios,swift,Ios,Swift,如果让randNumber=arc4random\u uniform(UInt32(count))这一行出现错误 条件绑定中的绑定值必须是可选类型 我可能错了,但我认为我必须将UInt32值更改为可选值,但如果是这种情况,我该怎么做?如果不是,那么我需要更改什么以成为可选类型 var query = PFQuery(className: "VoteCount") query.countObjectsInBackgroundWithBlock { (count: I
var query = PFQuery(className: "VoteCount")
query.countObjectsInBackgroundWithBlock {
(count: Int32, error: NSError!) -> Void in
if error == nil {
if let randNumber = arc4random_uniform(UInt32(count)) {
println("The random object is \(randNumber)\")
}
} else {
println("error \(error)")
}
}
请试试这个
let randNumber = Int(arc4random_uniform(count))
arc4random\u uniform
的返回类型是UInt32
,而不是UInt32?
,因此不需要条件。所以你可以选择:
var query = PFQuery(className: "VoteCount")
query.countObjectsInBackgroundWithBlock {
(count: Int32, error: NSError!) -> Void in
if error == nil {
let randNumber = arc4random_uniform(UInt32(count))
println("The random object is \(randNumber)")
} else {
println("error \(error)")
}
}
在某些情况下,您可能绝对肯定,Objective-C
方法或属性从不返回nil对象引用。使
这个特殊场景中的对象使用起来更方便,Swift
将对象类型作为隐式展开的选项导入。含蓄地
未包装的可选类型包括的所有安全功能
可选类型。此外,您可以直接访问该值,而无需
检查零或自己打开包装
所以你可以这样做:
if let randNumber = arc4random_uniform(UInt32(count)) as UInt32!{
}