gpt4 book ai didi

ios - 将 dispatch_once 模式与原语一起使用有什么好处吗?

转载 作者:行者123 更新时间:2023-11-29 11:04:01 24 4
gpt4 key购买 nike

哪个更好?

static unsigned unitFlags;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
});

OR 是否和写作一样高效

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;

或者还有其他一些更有效的模式吗?定义“unitFlags”会更好吗?

最佳答案

你应该这样做:

static unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;

如果右侧的表达式不是有效的编译时常量,您只需执行 dispatch_once 技巧。但这是一个有效的编译时常量,因此您不必费心费力。

但是 static 表达式通常比 #define 更好(它是类型化的,对于一些复杂的表达式,它可以更有效)。在我看来,坚持使用 static

关于ios - 将 dispatch_once 模式与原语一起使用有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14459747/

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