ios – 可选类型’$T11’不能用作布尔值;自从安装XCode 6 beta 7以来,测试’!= nil’

前端之家收集整理的这篇文章主要介绍了ios – 可选类型’$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;
    }
 }

感谢帮助.

谢谢你的时间

解决方法

Optionals不再被视为布尔表达式(如Swift Reference- Revision History中所述):

Optionals no longer implicitly evaluate to true when they have a value and false when they do not,to avoid confusion when working with optional Bool values. Instead,make an explicit check against nil with the == or != operators to find out if an optional contains a value.

所以你必须明确如下:

if (fieldValue == nil || ...

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

原文链接:/iOS/328202.html

猜你在找的iOS相关文章