我試圖啓動我的伊娃這樣的:我可以間接發起ivar嗎?
聲明如下在h文件
@interface MyClass: {
UITextView *_myTextView;
}
然後在M文件
- (id)init {
self = [super init];
if(self) {
[self initTextView:_myTextView];
}
return self;
}
- (void)initTextView:(UITextView *)textView {
textView = [[UITextView alloc] init];
...
}
_myTextView這樣的創建仍將之後無。 爲什麼會這樣,我應該怎麼做才能使它工作?我啓用了ARC。
[編輯]
這工作。謝謝大家!
- (id)init {
self = [super init];
if (self) {
_textView1 = [self createTextView];
_textView2 = [self createTextView];
_textView3 = [self createTextView];
}
return self;
}
- (UITextView *)createTextView {
UITextView *textView = [[UITextView alloc] init];
...
return textView;
}
你必須使用指針指針來允許'initTextView'方法改變'_myTextView'的值。看到我的答案下面的工作示例。 – 2013-02-26 10:37:43