gpt4 book ai didi

iOS objective-C : weakSelf Syntax

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:48 24 4
gpt4 key购买 nike

weakSelf 的几乎每个例子我在网上遇到的模式有语法

__weak typeof(self) weakSelf = self;

但是编译器在最新版本的 Xcode 中提示这种语法,要求:

__weak __typeof__(self) weakSelf = self;

是语法改变了,还是我遗漏了导入?我试着拉入 <objc/runtime.h>但没有变化。

隐秘的奖励问题:为什么不明确地施放它?

__weak MyBoffoClass *weakSelf = self;

我在这里找到一个答案,说最好直接转换它,但没有解释为什么。

最佳答案

在@danh 的帮助下指向我Difference between typeof, __typeof and __typeof__ (Objective-c) ,我发现问题出在编译器设置中。

点击Project Navigator窗口顶部的项目,点击Build Settings,然后选择View All: Choosing Settings

接下来向下滚动到 Apple LLVM nn - 语言并检查设置: Language Settings

在我的案例中,语言方言设置为 C99,它不支持 GNU 编译器宏和 C 语言的其他扩展。

不确定为什么项目会这样设置(项目架构师不记得为什么),我只需要在阅读 StackOverflow 代码片段时考虑到这一事实。比通过更改来介绍更好,因为我是一个懒惰的打字员。

关于iOS objective-C : weakSelf Syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29358445/

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