在 Mac OSX 10.6 中,NSErrorFailingURLStringKey userInfo 字典键已弃用,取而代之的是 NSURLErrorFailingURLStringErrorKey。我正在尝试编写可移植到 Mac OSX 10.5 和 10.6 的程序。目前,我只是在使用旧 key ——但我的编译器给我讨厌的弃用警告。
// The following causes deprecation warnings
[[error userInfo] objectForKey:NSErrorFailingURLStringKey]
// But this one won't work on OSX 10.5
[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]
编写可移植代码来处理已弃用的 userInfo 字典键的最佳方法是什么?
最佳答案
您可以像这样使用预处理器指令:
#if defined(MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]
#else
[[error userInfo] objectForKey:NSErrorFailingURLStringKey]
#endif
关于objective-c - 已弃用的 userInfo 字典键的可移植代码 (Cocoa),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190388/