这是什么类型的数据?

时间:2010-05-02 12:26:40

标签: iphone c objective-c

在类标题中,我看到过类似的内容:

enum {
    kAudioSessionProperty_PreferredHardwareSampleRate           = 'hwsr',   // Float64
    kAudioSessionProperty_PreferredHardwareIOBufferDuration     = 'iobd'   // Float32
};

现在我想知道kAudioSessionProperty_PreferredHardwareSampleRate实际上是什么数据类型?

我的意思是这看起来像普通的老C,但是在Objective-C中我会写@“hwsr”如果我想把它变成一个字符串。

我想将一个“常量”或“枚举事物”作为参数传递给方法。

1 个答案:

答案 0 :(得分:4)

使用每个条目的ASCII值转换为UInt32枚举值。这种风格在Mac OS标题中已存在很长时间了。

'hwsr'具有与写入0x68777372相同的值,但读者友好得多。如果您使用@“hwsr”样式,则需要超过4个字节来表示相同的内容。

使用此样式的优点是,如果您可以看到原始数据流的ASCII值,则实际上能够快速识别原始数据流的内容。