1、变量作用域:
@public
@protected
@private
例如可以写:
@interface Student: NSObject{
@public
int _age;
int _no;
@private
int _name;
float height;
}
@end
当时通常不这样写,因为如果给成员变量加上@public,别人就可以访问,我们通常只通过set、get方法访问
当我不写的时候,默认是protected的。
2、自动释放内存
Student * stu = [ [[Student alloc] init ] autorelease];
加上autorelease这个方法,我们不用再手动释放[stu release]; 而是自动释放
一般说,系统创建的静态方法,都是自动释放的。
3、self
@implementation Student
//谁调用方法,self就指向谁
- (void) test{
//self 指向调用这个方法的类
int age = self.age;
}
+(void) test2{
[Student alloc]; //等效与 [self alloc];
}
@end
在java中只有动态方法中才能使用this,但是在OC中静态方法中用了self,self就代表类名;动态方法中用了self,则,self指向调用这个方法的对象。
4、私有方法
如果没有在接口中进行声明,直接在.m文件中写,则这个方法就是私有方法。
本文详细介绍了Objective-C与Swift两种编程语言中关于私有方法的定义与使用,以及自动内存管理机制的实现方式。通过对比分析,帮助开发者更好地理解这两种语言在内存管理与封装特性上的不同之处。
76

被折叠的 条评论
为什么被折叠?



