苹果开发 手动内存管理MRC
MRC个人总结 关键字 alloc,new, retain,copy, release, autorelease, dealloc. 一、内存管理的规则 1)谁创建,谁释放
#import
#import "Person.h"int main(int argc, const char * argv[]) {Person *p = [Person new];[p run];[p release];return 0;
}
2)苹果的手动内存管理采用引用计数器管理
当一个对象创建的时候引用计数器retainCount值为1 如果需要对这个对象进行持有则需要用retain方法
#import
#import "Person.h"int main(int argc, const char * argv[]) {Person *p = [Person new];[p run];NSLog(@"retainCount = %lu", [p retainCount]); //retainCount 值为1[p retain]; // retainCount 值为2NSLog(@"retainCount = %lu", [p retainCount]);[p release];NSLog(@"retainCount = %lu", [p retainCount]);// retainCount 值为1;[p release];//retainCount = 0 调用dealloc方法释放内存return 0;
}
下面是Person类重写了NSObject dealloc方法 注意重写时一定要调用一下[super dealloc]方法
#import "Person.h"@implementation Person- (void)run {NSLog(@"人在跑");
}- (void)dealloc {NSLog(@"对象被释放");[super dealloc];
}@end
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
