gpt4 book ai didi

xcode - setStringValue 和指针

转载 作者:行者123 更新时间:2023-12-03 17:41:56 24 4
gpt4 key购买 nike

我对 setStringValue: 有一个独特的情况,希望有人能解决这个问题:

使用以下理论示例(非文字)代码:

NSString *myVar;

[myOutlet setStringValue:myVar];

似乎对于任何字符串值,例如:

myVar = @"hello";

指针被传递到 myOutlet,并且 NSTextField 指向与 myVar 相同的内存位置,本质上使它们相同。本质上:

myVar == [myOutlet stringValue];

返回 TRUE。

但是

在这种情况下:

myVar = @"";

看起来好像它没有传递指针,而是 NSTextField 正在创建它自己的独立内存位置来存储它的空字符串,本质上是:

myVar == [myOutlet stringValue];

返回假。

谁能证实这是否属实,如果是,请解释原因?我相信这是我正在处理的一段代码中遇到的一个非常复杂问题的根源,我正在努力解决问题的根源。

谢谢!

最佳答案

基本上,第一种情况的成功纯属偶然。这些指针绝对不能保证相等,如果需要比较字符串,请始终使用 -isEqualToString:

您遇到的可能是某种优化,以避免多次存储 @"hello" 。我们无法知道这种情况何时会发生或不会发生,并且它可能会在未来发生变化,或者因设备而异。

关于xcode - setStringValue 和指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712667/

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