Objective-C内存管理中的关于release和=nil的问题
//inBaseClass.h@interfaceBaseClass:NSObject{@publicNSString*_name;}@property(nonatomi...
//in BaseClass.h
@interface BaseClass : NSObject{
@public
NSString *_name;
}
@property(nonatomic,retain) NSString *name;
//in BaseClass.m
@synthesize name = _name;
在上面的这个类当中有一个 name属性,在dealloc方法中需要对这个name属性进行release,好多地方都是这么写的
-(void) dealloc
{
self.name = nil;
}
这个dealloc方法中的 self.name = nil;能不能写成:
[_name release];
或者
_name = nil; 展开
@interface BaseClass : NSObject{
@public
NSString *_name;
}
@property(nonatomic,retain) NSString *name;
//in BaseClass.m
@synthesize name = _name;
在上面的这个类当中有一个 name属性,在dealloc方法中需要对这个name属性进行release,好多地方都是这么写的
-(void) dealloc
{
self.name = nil;
}
这个dealloc方法中的 self.name = nil;能不能写成:
[_name release];
或者
_name = nil; 展开
3个回答
展开全部
可以,一般是在dealloc里面写[_name release],然后在viewDidUnload里面写_name = nil
不过这都什么年代了,早转ARC了,很方便的,不用再为内存释放纠结了
不过这都什么年代了,早转ARC了,很方便的,不用再为内存释放纠结了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以。。。。这个问题其实不值得花20财富值,自己做个实验就是了,不就这几行代码吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询