gpt4 book ai didi

ios - iPhone/iPad 宏或 c 函数?

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:44 25 4
gpt4 key购买 nike

定义以下三元运算符的最佳方法是什么?

[[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone ? x : y

我考虑过使用宏

#define phonePad(x, y) ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone ? x : y)

但是this article提到这可能不是最好的主意。有没有一种方法可以使用 C 函数来做等效的事情,或者这是实现它的最佳方法?

最佳答案

我不会为此使用宏。通过使用宏,您需要设备在每次使用时检查用户界面惯用语,并相应地设置 x 或 y。考虑创建一个基于接口(interface)习惯用法返回的新方法。这可以是静态的,因为这个值不可能在运行时改变。

- (id)determineXOrY {
static id obj = nil;

static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
obj = [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone ? x : y
});

return obj;
}

关于ios - iPhone/iPad 宏或 c 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769960/

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