【发布时间】:2011-12-28 21:43:04
【问题描述】:
我试图在我的代码中使用尽可能少的内存。我尝试了两种将自定义类对象发送到方法的方法。我不确定这两种方法之间是否有任何区别。假设我有 2 个类,Class1 和 Class2,当然每个类都有自己的类变量和方法。
所有代码都写在Class1
中方法一:
Class2 *class2Object = [[Class2 alloc] init];
[self doSomething: class2Object];
[class2Object release];
-(void) doSomething: (Class2 *) var {
int a = var.a;
}
方法2:
Class2 *class2Object = [[Class2 alloc] init];
[self doSomething: &class2Object];
[class2Object release];
-(void) doSomething: (Class2 **) var {
int a = var->a;
}
这两种方法在性能上有区别吗?第二种方法完全没有意义吗?为什么我可以在方法一中使用点符号,但在方法二中必须使用->?
谢谢。
【问题讨论】:
-
Objective-C 中没有类变量这样的东西。
标签: objective-c syntax pass-by-reference class-variables