MRC 下,如何设计一个方法,可以把传入的对象完全销毁?
- (void)destroy:(id)obj {
//销毁操作
}
附测试用例:
- (void)test1 {
NSString *name = @"酷酷的哀殿";
[self destroy:name];
}
- (void)test2 {
dispatch_block_t block = ^{
};
[self destroy:block];
}
MRC 下,如何设计一个方法,可以把传入的对象完全销毁?
- (void)destroy:(id)obj {
//销毁操作
}
附测试用例:
- (void)test1 {
NSString *name = @"酷酷的哀殿";
[self destroy:name];
}
- (void)test2 {
dispatch_block_t block = ^{
};
[self destroy:block];
}
本文标题:iOS 内存管理强化题
本文链接:https://www.haomeiwen.com/subject/apthgttx.html
网友评论
[obj release];
Class newClass = object_getClassName(obj);
while(oldClass == newClass){
oldClass = object_getClassName(obj);
[obj release];
newClass = object_getClassName(obj);
}
- (void)destroy:(id)obj {
Class oldClass = object_getClass(obj);
[obj release];
obj = nil;
Class newClass = object_getClass(obj);
while(oldClass == newClass){
oldClass = object_getClass(obj);
[obj release];
obj = nil;
newClass = object_getClass(obj);
}
}
//销毁操作
[obj retain];
NSInteger count = [obj retainCount];
for (int i = 0; i < count ; i++) {
[obj release];
}
}