迅速和布尔 [英] Swift and Boolean

查看:72
本文介绍了迅速和布尔的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

函数AUGraphIsInitialized的定义如下:

The function AUGraphIsInitialized is defined like this:

func AUGraphIsInitialized(inGraph: AUGraph, outIsInitialized: CMutablePointer<Boolean>) -> OSStatus

所以,您这样称呼它:

var status : OSStatus = OSStatus(noErr)
var outIsInitialized:Boolean = 0
status = AUGraphIsInitialized(self.processingGraph, &outIsInitialized)

可以。但是如何检查呢?

That works. But how do you check it?

布尔值定义为CUnsignedChar(在MacTypes.h中)

Boolean is defined as an CUnsignedChar (in MacTypes.h)

因此,则无法执行以下操作:

So, you cannot do this:

if outIsInitialized {
    // whatever
}

并且您无法投射它(找不到重载...)

And you cannot cast it (could not find an overload...)

var b:Bool = Bool(outIsInitialized)

或使用Swift的 as

or with Swift's "as"

var b:Bool = outIsInitialized as Bool

所以,我的问题是:如何在Swift中使用布尔值?

So, my question is: how do you use Boolean in Swift?

推荐答案

C表示布尔值true(具有非零值)和false(具有零值),因此您可以针对测试 outIsInitialized 0

C represents the Boolean value true with a nonzero value and false with a zero value, so you can just test outIsInitialized against 0:

if outIsInitialized != 0 {
    // outIsInitialized is true
}

这篇关于迅速和布尔的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆