2
什麼是它們之間的區別?:保留差異之間保持
@property (nonatomic, retain) NSString *A_StringToRetain;
和
NSString *B_StringToRetain;
B_StringToRetain = [[MyClass GetStringValue] retain];
因爲使用屬性,字符串將不保留和使用第二種方式,一切OK,但我需要檢查並釋放以避免泄漏。
例:
我在.h
NSString *A_StringToRetain;
@property (nonatomic, retain) NSString *A_StringToRetain;
宣佈.m
我使用
A_StringToRetain = @"MyValue";
但是當我從方法退出,我失去A_StringToRetain
。這是一個殭屍。
如果我不使用屬性,並以字符串在內存這樣
NSString *B_StringToRetain;
B_StringToRetain = [[MyClass GetStringValue] retain];
聲明的字符串。
有人告訴我爲什麼請嗎?
這是不一樣的方式來分配/保留?
有什麼區別?
謝謝。
太棒了!我很愚蠢! :)現在很明顯,顯然有效!謝謝。 – elp 2011-06-10 10:37:05