爲什麼同一類的兩個不同實例正在使用它們的變量,就好像它們在哪裏靜態變量一樣?同一類的兩個不同實例混淆變量
我不想綜合這些變量。
但是沒有合成 - 兩個實例都指向它們的變量,就好像它們在同一個位置。
任何方式來解決它?
這是爲什麼?
謝謝 -
Nir。
爲什麼同一類的兩個不同實例正在使用它們的變量,就好像它們在哪裏靜態變量一樣?同一類的兩個不同實例混淆變量
我不想綜合這些變量。
但是沒有合成 - 兩個實例都指向它們的變量,就好像它們在同一個位置。
任何方式來解決它?
這是爲什麼?
謝謝 -
Nir。
通過在.m文件中聲明變量(在@implementation上方),您已聲明瞭跨實例共享的全局變量。
將聲明移至@interface塊內的.h文件。
@synthesize只有當你也有變量的@property指令時才需要(除非你自己寫getter/setter方法)。
謝謝,如果聲明低於@implementation? – Tiger 2010-02-22 01:42:08
只要聲明在方法之外並且在@interface塊之外,它就是全局的。不推薦全局變量。 – DyingCactus 2010-02-22 02:44:44
謝謝DyingCactus :) – Tiger 2010-02-22 04:57:23
顯示類.h文件以及創建類的兩個不同實例的位置。 – DyingCactus 2010-02-21 21:40:27
@Nir Tager - 你提出了9個問題,但接受0個答案。請仔細閱讀您的問題,並在適當的位置將答案標記爲正確的答案 – willcodejavaforfood 2010-02-21 21:45:11
willcodejavaforfood-謝謝 - 我終於找到了...(通過單擊V符號)... DyingCactus - 我聲明變量在.m文件 - 是否意味着它們不是實例變量? 我想避免在.h文件中聲明它們 - 我可以這樣做嗎? – Tiger 2010-02-21 21:59:48