本文介绍了可选类型'$ T11'不能用作布尔值;自从安装XCode 6 beta 7后测试'!= nil'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下是我收到错误的代码:

for (key, value) in info {
    let fieldValue: AnyObject? = value

    if (!fieldValue || fieldValue?.length == 0) { // this line gives the error
        informationComplete = false;
    } 
}

这就是XCode建议我使用哪个导致另一个错误:

for (key, value) in info {
    let fieldValue: AnyObject? = value

    if ((!fieldValue || fieldValue?.length == 0) != nil) { //bool not convertible to string
        informationComplete = false;
    }
 }

感谢帮助。

感谢您的时间

推荐答案

选项不再被视为布尔表达式(如Swift中所述)参考 - ):

Optionals are no longer considered boolean expression (as stated in the Swift Reference - Revision History):

so你必须明确如下:

so you have to make it explicit as follows:

if (fieldValue == nil || ...

我记得在测试版6中有所改变 - 你使用的是beta 5吗?

I remember that changed in beta 6 - were you using beta 5?

这篇关于可选类型'$ T11'不能用作布尔值;自从安装XCode 6 beta 7后测试'!= nil'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 20:14