【发布时间】:2015-08-14 22:01:26
【问题描述】:
当一个属性类(我们称之为class_X)从另一个类实例化时,class_X的所有方法和函数也包含在每个实例中。
Q1: 这不会增加大量开销,特别是如果该类有多个实例?
类实例(class_X)然后可以作为参数传递给其他类中的其他方法和函数。
Q2: 将其作为参数传递给驻留在同一类中的 C 风格函数(我们称之为 function_C)是否安全(function_C 驻留在 class_X 中)?
提前致谢。
更新:这里有一些代码来说明:
class_X 标头:
//class_X.h
@interface class_X : NSObject
@property (nonatomic, assign) NSInteger intProp;
@property (nonatomic, strong) NSArray *arrProp;
void function_C (class_X *cx);
@end
class_X 实现:
//class_X.m
#import "class_X.h"
@implementation class_X
void function_C (class_X *cx)
{
//code...
}
@end
实例化 class_X:
@implementation someOtherViewController
- (void) viewDidLoad {
[super viewDidLoad];
class_X *cx = [[class_X alloc] init];
cx.intProp = 123;
cx.arrProp = @[@"one", @"two", @"three"];
function_C (cx); //does this not cause some sort of recursion?
}
@end
【问题讨论】:
标签: objective-c function class methods properties