gpt4 book ai didi

ios - ARC 不允许将非 Objective-C 指针类型 void* 隐式转换为 NSString*__strong*

转载 作者:可可西里 更新时间:2023-11-01 03:58:20 26 4
gpt4 key购买 nike

迁移到 ARC 时出现上述错误。这是代码:

static NSString *cashBalanceKeyPath = @"test";

...

[xxx forKeyPath:cashBalanceKeyPath options:NSKeyValueObservingOptionNew context:&cashBalanceKeyPath];

...

-(void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {

if (&cashBalanceKeyPath == context) < error here
{
...
}

当我使用网桥时:

if (&cashBalanceKeyPath == (__bridge NSString *)context)

我收到错误:Comparison of distinct pointer types (NSString *__strong* and NSString *)

如何进行转换?提前致谢。

最佳答案

我不能告诉你确切原因,但如果你交换比较的顺序,你不会收到警告或错误:

if (context == &cashBalanceKeyPath) {
// ...
}

关于ios - ARC 不允许将非 Objective-C 指针类型 void* 隐式转换为 NSString*__strong*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17434024/

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