下面是我如何使用编写自定义之前保留的二传手:
- (void)setMyObject:(MyObject *)anObject
{
[_myObject release], _myObject = nil;
_myObject = [anObject retain];
// Other stuff
}
当属性设置为强劲,ARC我怎样才能做到这一点。 我怎样才能确保该变量具有较强的指针?
下面是我如何使用编写自定义之前保留的二传手:
- (void)setMyObject:(MyObject *)anObject
{
[_myObject release], _myObject = nil;
_myObject = [anObject retain];
// Other stuff
}
当属性设置为强劲,ARC我怎样才能做到这一点。 我怎样才能确保该变量具有较强的指针?
在strong
发生在伊娃水平照顾自己,所以你可以仅仅做
- (void)setMyObject:(MyObject *)anObject
{
_myObject = anObject;
// other stuff
}
仅此而已。
注意:如果你这样做是没有自动属性,伊娃会
MyObject *_myObject;
然后ARC采取的保留关心和释放你(谢天谢地)。 __strong
是默认的预选赛。
只是为了总结答案
.h文件中
//If you are doing this without the ivar
@property (nonatomic, strong) MyObject *myObject;
.m文件
@synthesize myObject = _myObject;
- (void)setMyObject:(MyObject *)anObject
{
if (_myObject != anObject)
{
_myObject = nil;
_myObject = anObject;
}
// other stuff
}