對於有附加實際視圖的類,我可以使用viewDidLoad處理任何我想使用的變量或常量。在視圖開始使用時,它將在方法中的任何其他代碼之前運行。在類的開始處運行代碼
是否有這樣做沒有附加視圖的類?舉例來說,如果我有一個名爲的PDFCreator類,當我創建這樣的:
PDFcreator *pdf = [[PDFcreator alloc] init];
有沒有辦法在那個時刻運行函數,這樣我可以設置這些變量?或者用其他方式來封裝該類中的數據?
對於有附加實際視圖的類,我可以使用viewDidLoad處理任何我想使用的變量或常量。在視圖開始使用時,它將在方法中的任何其他代碼之前運行。在類的開始處運行代碼
是否有這樣做沒有附加視圖的類?舉例來說,如果我有一個名爲的PDFCreator類,當我創建這樣的:
PDFcreator *pdf = [[PDFcreator alloc] init];
有沒有辦法在那個時刻運行函數,這樣我可以設置這些變量?或者用其他方式來封裝該類中的數據?
呀,只要任何代碼添加到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;
...
您已經確定了答案:覆蓋-init
並在那裏執行工作。 Apple's documentation on object initialization可以幫助你,在這裏。
這做到了。我會在一兩分鐘後讓我接受答案。 –