在静态方法(类方法)中使用 self ,self 表示这个类。比如以下两个方法的意思是一样的:
+ (void) wtf
{
[self alloc];
}
+ (void) wtf
{
[ClassName alloc];
}
OC 中一个对象后面用“.”后面再带一堆东西,表示 get 方法或 set 方法,而不是指成员变量。至于是 get 还是 set 取决于应用场景是需要返回值还是不需要返回值的 void 。所以有:
[[UIViewController alloc] init]; 其实可以写成 UIViewController.alloc.init;
OC 在 .m 中实现的方法,而不在 .h 中使用的方法,都是私有方法。
与 C++ 一样,有三种作用域:
OC 在 .h 中声明的成员变量,默认都是 protected。比如:
@interface ClassName: NSObject
{
int _age;
int _sex;
}
@end
以上的age 和sex 都是 protected 的,即可以在该类和子类中访问。
直接上代码吧:
@interface ClassName: NSObject
{
@public
int _age;
@private
int _sex;
}
@end
@interface ClassName: NSObject
{
int _age;
int _sex;
}
- (int) age;
- (void) setAge:(int)age;
@end
有两种写法,注意第一种中是有 * 的,表示指针。
- (ClassName *)initWithArg:(int)arg
{
}
也可以用 id 哦~
- (id)initWithArg:(int)arg
{
}
- (id)initWithArg:(int)arg
{
if (self = [super init])
{
_arg = arg;
}
return self;
}
ClassName *cn = [[ClassName alloc] init];
ClassName *bn = [ClassName new]; // 不建议使用
-
转载请注明来自:http://blog.csdn.net/prevention