2010-02-21 67 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

相關問題