运行 Class 开头的代码
Run Code At Start of Class
对于我附有实际视图的 class,我可以使用 viewDidLoad 来处理我想使用的任何变量或常量。当视图开始使用时,它将 运行 在方法中的任何其他代码之前。
有没有针对 classes 没有附加视图的东西?例如,如果我有一个名为 PDFCreator 的 class,当我这样创建它时:
PDFcreator *pdf = [[PDFcreator alloc] init];
有没有办法在那一刻 运行 一个函数,以便我可以设置这些变量?或者以其他方式将数据封装在 class?
中
您已经确定了答案:覆盖 -init
并在那里执行工作。 Apple's documentation on object initialization 在这里可以帮到你。
是的,只需在 init
方法中添加任何代码即可:
@implementation PDFCreator
- (instancetype)init
{
self = [super init];
if (self) {
_someInstanceVariable = @"Hello";
_anotherInstanceVariable = 12;
}
return self;
}
假设您的 @interface PDFCreator
看起来像这样:
@interface PDFCreator : NSObject
@property NSString *someInstanceVariable;
@property (assign) int anotherInstanceVariable;
...
对于我附有实际视图的 class,我可以使用 viewDidLoad 来处理我想使用的任何变量或常量。当视图开始使用时,它将 运行 在方法中的任何其他代码之前。
有没有针对 classes 没有附加视图的东西?例如,如果我有一个名为 PDFCreator 的 class,当我这样创建它时:
PDFcreator *pdf = [[PDFcreator alloc] init];
有没有办法在那一刻 运行 一个函数,以便我可以设置这些变量?或者以其他方式将数据封装在 class?
中您已经确定了答案:覆盖 -init
并在那里执行工作。 Apple's documentation on object initialization 在这里可以帮到你。
是的,只需在 init
方法中添加任何代码即可:
@implementation PDFCreator
- (instancetype)init
{
self = [super init];
if (self) {
_someInstanceVariable = @"Hello";
_anotherInstanceVariable = 12;
}
return self;
}
假设您的 @interface PDFCreator
看起来像这样:
@interface PDFCreator : NSObject
@property NSString *someInstanceVariable;
@property (assign) int anotherInstanceVariable;
...