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