2010-02-21 109 views
0

为什么同一类的两个不同实例正在使用它们的变量,就好像它们在哪里静态变量一样?同一类的两个不同实例混淆变量

我不想综合这些变量。

但是没有合成 - 两个实例都指向它们的变量,就好像它们在同一个位置。

任何方式来解决它?

这是为什么?

谢谢 -

Nir。

+3

显示类.h文件以及创建类的两个不同实例的位置。 – DyingCactus 2010-02-21 21:40:27

+0

@Nir Tager - 你提出了9个问题,但接受0个答案。请仔细阅读您的问题,并在适当的位置将答案标记为正确的答案 – willcodejavaforfood 2010-02-21 21:45:11

+0

willcodejavaforfood-谢谢 - 我终于找到了...(通过单击V符号)... DyingCactus - 我声明变量在.m文件 - 是否意味着它们不是实例变量? 我想避免在.h文件中声明它们 - 我可以这样做吗? – Tiger 2010-02-21 21:59:48

回答

1

通过在.m文件中声明变量(在@implementation上方),您已声明了跨实例共享的全局变量。

将声明移至@interface块内的.h文件。

@synthesize只有当你也有变量的@property指令时才需要(除非你自己写getter/setter方法)。

+0

谢谢,如果声明低于@implementation? – Tiger 2010-02-22 01:42:08

+0

只要声明在方法之外并且在@interface块之外,它就是全局的。不推荐全局变量。 – DyingCactus 2010-02-22 02:44:44

+0

谢谢DyingCactus :) – Tiger 2010-02-22 04:57:23

相关问题