对于我附加了实际视图的类,我可以使用viewDidLoad来处理我想要使用的任何变量或常量。在视图使用的那一刻,它将在方法中的任何其他代码之前运行。
对于没有附加视图的类,是否有某些功能?例如,如果我有一个名为PDFCreator的类,当我按照这样创建它时:
PDFcreator *pdf = [[PDFcreator alloc] init];
有没有办法在那一刻运行一个函数,以便我可以设置这些变量?或者以其他方式将数据封装在该类中?
答案 0 :(得分:2)
是的,只需将任何代码添加到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;
...
答案 1 :(得分:0)
您已确定答案:覆盖-init
并在那里执行工作。 Apple's documentation on object initialization可能会对您有所帮助。