gpt4 book ai didi

Objective-C 到 Swift 按位异或等于运算符 ^=

转载 作者:行者123 更新时间:2023-11-28 12:15:52 29 4
gpt4 key购买 nike

我在 Objective-C 中有这种代码,我想转换成 Swift

+ (BOOL)isLocationOutOfChina:(CLLocationCoordinate2D)location {
BOOL oddFlag = NO;
oddFlag ^= (a.x +
(c.y - a.y) /
(b.y - a.y) *
(b.x - a.x) <
point.x);
return !oddFlag;
}

我不知道如何处理 Bitwise XOR equal Operator to swift ^=

这个转换我有一个错误:

二元运算符 ^= 不能应用于两个“ bool ”操作数

最佳答案

在 Swift 中,^ 运算符(因此,^= 运算符)仅适用于整数数据类型(例如 Int) .它不适用于 Bool

但是请注意,您在 Objective-C 代码中使用 ^= 是没有意义的。您始终以 NO 开始,然后使用 YESNO 对其进行 XOR。结果将始终是右侧的值。换句话说,NO ^ X 将始终是 X。所以简单地做:

BOOL oddFlag = (a.x + ...);

在 Objective-C 中。那么 Swift 翻译就简单了。

关于Objective-C 到 Swift 按位异或等于运算符 ^=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46627815/

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