gpt4 book ai didi

objective-c - 如何在 Objective-C 中使用全局变量?

转载 作者:太空狗 更新时间:2023-10-30 03:14:05 25 4
gpt4 key购买 nike

我应该如何在我的 Objective-C 项目中声明一个全局变量?

最佳答案

传统上,全局变量在 header 中声明,并在源文件中定义。其他源文件只需要知道它是如何声明的就可以使用它(即它的类型和它的名字)。只要变量在源文件中的某处定义,链接器就能够找到它并将其他源文件中的所有引用适本地链接到该定义。

在标题的某处,您可以像这样声明一个全局变量:

extern int GlobalInt;

extern 部分告诉编译器这只是一个声明,表明存在由 GlobalInt 标识的 int 类型的对象。它可能稍后定义,也可能不定义(确保它存在不是编译器的责任,这是链接器的工作)。在这方面它类似于函数原型(prototype)。

在您的一个源文件中,您定义了GlobalInt 整数:

int GlobalInt = 4;

现在,每个包含 header 的文件都可以访问 GlobalInt,因为 header 表明它存在,所以编译器很高兴,链接器会在您的源文件之一中看到它,所以它也会快乐。只是不要定义它两次!

然而


您应该考虑这种方法是否有用。全局变量由于多种原因变得困惑(试图找出它定义或声明的确切位置,线程问题),通常不需要全局变量。您或许应该考虑使用单例方法。

关于objective-c - 如何在 Objective-C 中使用全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3368877/

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