gpt4 book ai didi

objective-c - 比较 bool 值和整数

转载 作者:行者123 更新时间:2023-11-28 23:08:42 26 4
gpt4 key购买 nike

我在我的 iOS 应用程序中使用了多个 NSComparators,它们通过 NSString 或 NSNumber 属性比较对象。这相当容易,因为 NSString 有 caseInsensitiveCompare: 而 NSNumber 有 compare:。我如何比较 bool 或 int?对于 bool 值,代码可能会很快变得非常困惑,因为我的比较函数采用 (bool)ascending 参数。我注意到 Objective C 通常为此类事物提供晦涩的全局函数。

目前我正在使用这段代码来比较 bool 值:

NSComparator comp = ^(id id1, id id2) {
ListItem *comp1 = nil,
*comp2 = nil;
if([id1 isKindOfClass:[ListItem class]]){
if(ascending){
comp1 = (ListItem*)id1;
comp2 = (ListItem*)id2;
}else{
comp1 = (ListItem*)id2;
comp2 = (ListItem*)id1;
}
}
if(h1!=nil && h2!=nil){
if((h1.isInBasket && h2.isInBasket) || (!h1.isInBasket && !h2.isInBasket)){
return 0;
} else if(h1.isInBasket && !h2.isInBasket) {
return 1;
} else {
return -1;
}
} else {
return 0;
}

最佳答案

bool 值(BOOLBoolean)和整数(intlongunsigned 等)只是普通的 C 整数类型,您可以将它们与标准 C 比较运算符 < 进行比较, > , ==等。同样适用于 char (也是整型),float等,以及命名变体,例如 NSInteger .

关于objective-c - 比较 bool 值和整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779881/

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