什么是OSStatus?

use*_*675 12 macos objective-c ios

例如:

OSStatus AudioServicesCreateSystemSoundID (
   CFURLRef       inFileURL,
   SystemSoundID  *outSystemSoundID
);
Run Code Online (Sandbox Code Playgroud)

在Apple的文档中,该函数的描述告诉我们返回的值是"结果代码".但是什么代码?为什么它是"OSStatus"?

Abi*_*ern 16

正如您所说,它是函数的结果代码.

Hovewer,不同的功能有不同的结果代码,您可以根据需要处理.例如,对于音频服务,当前的OSStatus代码在文档中给出:

在此输入图像描述

因此,当你调用你的函数时,你会检查返回值OSStatus,如果是noErr(这是什么0),那么你可以继续下一次调用,否则你会相应地处理错误.