gpt4 book ai didi

objective-c - 使用 setAction :(SEL)@selector(start:) 时无法键入强制转换 @selector 表达式

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

我在看别人的一个项目代码,在32位可以编译成功,但是当我将项目切换到64位时,出现了一个如标题所示的错误信息。

代码:

[obj setAction:(SEL)@selector(start:)];

我知道 @selector 的返回值类型是 SELsetAction 的参数需要一个 SEL args,但为什么它在 64 位中失败了? SEL 实际上是什么类型?

谢谢!

最佳答案

它不应该失败,但您根本不需要强制转换。 @selector() 表达式已经是 SEL 类型。随便写

[obj setAction:@selector(start:)];

就 C 而言,SEL 类型是 struct objc_selector *。在 OS X 和 iOS 上,它是,但是?由普通 const char * 支持,在加载时由链接器和内核统一。

关于objective-c - 使用 setAction :(SEL)@selector(start:) 时无法键入强制转换 @selector 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13910142/

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