Objective C 实现上下文内部和外部声明静态变量的区别?

发布于 2024-11-03 11:42:16 字数 441 浏览 1 评论 0原文

可能的重复:
我必须在哪里声明静态变量?

我已经看到的代码

@implementation ClassA

static NSString *str = nil;

.....

@end

以及

static NSString *str = nil;

@implementation ClassA

.....

@end

如果在 @implmentation 上下文内部和外部声明静态变量有什么区别

Possible Duplicate:
Where do I have to declare static variables?

I've seen code like

@implementation ClassA

static NSString *str = nil;

.....

@end

as well as

static NSString *str = nil;

@implementation ClassA

.....

@end

What's the difference if a static var is declared inside the @implmentation context vs outside

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葬シ愛 2024-11-10 11:42:16

之间没有区别

@implementation ClassA

static NSString *str = nil;

.....

@end

它们

static NSString *str = nil;

@implementation ClassA

.....

@end

的工作方式相同...

静态变量有助于给类
对象不仅仅是功能
一个“工厂”生产的
实例;它可以接近成为
完整且多功能的对象
自己的权利。可以使用类对象
协调实例
创建、分配实例
已创建的对象列表,或
管理其他必要的流程
该应用程序。在这种情况下,当你
仅需要特定的一个对象
类,你可以把所有对象的
状态到静态变量并使用
只有类方法。这节省了
分配和初始化步骤
一个实例。

There is no difference between

@implementation ClassA

static NSString *str = nil;

.....

@end

and

static NSString *str = nil;

@implementation ClassA

.....

@end

They work the same way ...

Static variables help give the class
object more functionality than just
that of a "factory" producing
instances; it can approach being a
complete and versatile object in its
own right. A class object can be used
to coordinate the instances it
creates, dispense instances from
lists of objects already created, or
manage other processes essential to
the application. In the case when you
need only one object of a particular
class, you can put all the object's
state into static variables and use
only class methods. This saves the
step of allocating and initializing
an instance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文