gpt4 book ai didi

objective-c - 基于操作系统版本的条件方法

转载 作者:行者123 更新时间:2023-12-03 18:00:41 24 4
gpt4 key购买 nike

我确信这真的很简单,但我什至不确定如何搜索它,因为我已经看到了我认为称为编译器标志的示例?,但一般来说,有条件的 cocoa 中最好的方法是什么在支持它的操作系统版本上运行特定方法。例如,NSDateFormatter 类具有 setDoesRelativeDateFormatting 方法,该方法仅适用于 10.6(在 Mac 上)及更高版本。

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];        
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
NSLocale *enLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];

[dateFormatter setLocale:enLocale];
[dateFormatter setDoesRelativeDateFormatting:YES];

最佳答案

以下是 Adium 如何检测到它正在 Snow Leopard 上运行,或者更好地执行类似的操作(这是 NSApplication 上的一个类别):

//Make sure the version number defines exist; when compiling in 10.5, NSAppKitVersionNumber10_5 isn't defined 
#ifndef NSAppKitVersionNumber10_5
#define NSAppKitVersionNumber10_5 949
#endif

- (BOOL)isOnSnowLeopardOrBetter
{
return (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_5);
}

那么你所要做的就是

if ([NSApp isOnSnowLeopardOrBetter]) { ... }

您可以通过命令单击 NSAppKitVersionNumber 跳转到其定义来查找 AppKit 的版本号。

关于objective-c - 基于操作系统版本的条件方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7165461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com