在类标题中,我看到过类似的内容:
enum {
kAudioSessionProperty_PreferredHardwareSampleRate = 'hwsr', // Float64
kAudioSessionProperty_PreferredHardwareIOBufferDuration = 'iobd' // Float32
};
现在我想知道kAudioSessionProperty_PreferredHardwareSampleRate实际上是什么数据类型?
我的意思是这看起来像普通的老C,但是在Objective-C中我会写@“hwsr”如果我想把它变成一个字符串。
我想将一个“常量”或“枚举事物”作为参数传递给方法。
答案 0 :(得分:4)
使用每个条目的ASCII值转换为UInt32枚举值。这种风格在Mac OS标题中已存在很长时间了。
'hwsr'具有与写入0x68777372相同的值,但读者友好得多。如果您使用@“hwsr”样式,则需要超过4个字节来表示相同的内容。
使用此样式的优点是,如果您可以看到原始数据流的ASCII值,则实际上能够快速识别原始数据流的内容。