gpt4 book ai didi

iphone - 您应该使用 'isEqual' 还是 '=='?

转载 作者:太空狗 更新时间:2023-10-30 03:59:13 28 4
gpt4 key购买 nike

我在这里看到了几个关于 SO 的问题,答案包括函数 isEqual: 而不是标准的 ==

到目前为止,我只学会了使用==,所以我想知道用什么更好,各自的优缺点是什么?什么时候应该使用它们?

谢谢。

最佳答案

他们做不同的事情;所以你需要使用合适的:

考虑一下,如果你愿意:

NSString *a = @"Hello!";
NSString *b = a;
NSString *c = [a mutableCopy];

if (a == b) NSLog(@"This prints");
if (b == c) NSLog(@"This doesn't");
if ([a isEqual:c]) NSLog(@"This does");

换句话说; == 只是检查两个指针​​是否指向同一个地方,因此是同一个对象; isEqual: 检查两个对象是否相等;在这种情况下,ab 是相同的字符串,而 c 是一个等于 a 的新字符串,因为它具有相同顺序的相同字符;但它有不同的类和不同的地址。

你几乎总是想对对象使用 isEqual:,如果它们有它,如果它们属于同一类,则更具体的比较器(isEqualToString:,例如)。

== 另一方面,您可能应该只使用整数数据类型。 (它们对对象意义不大,对 float 意义不大。)

关于iphone - 您应该使用 'isEqual' 还是 '=='?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741281/

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