我想傳遞一個UIView到另一個階級 - 這有點兒工作,但我不能保留指針...爲什麼我不能保留UIView指針?
在我.h文件中我宣佈的觀點:
UIView *someView;
我添加屬性
@property (nonatomic, retain) UIView *someView;
而在.M-文件I合成屬性
@synthesize someView;
然後,我必須設置視圖的方法(這是在.h文件中設置以及 - 相信我:):
-(void)makeViewPointer:(UIView *)myView{
someView = [[UIView alloc] init];
someView = myView;
for(UIView *aView in someView.subviews){
NSLog(@"tag %d", aView.tag);
}
}
到目前爲止,一切的工作。當我登錄someView時,我得到一個指針,所有的子視圖都是可訪問的。
我從另一個類調用此方法 - 這似乎工作正常。
NOW - 我有一個IBAction爲建立做這個觀點的東西按鈕被點擊
-(IBAction)doSomething:(id)sender{
NSLog(@"show the view %@", someView);
for(UIView *aView in someView.subviews){ // doesn't output anything
NSLog(@"tag %d", aView.tag);
}
}
後,在這一點上,someView-VAR又是空的 - 爲什麼????
我假設,當我使用@property(nonatomic,retain),變量會自動保留?
我也試圖在初始化保留變量:
someView = [[UIView alloc] retain];
不起作用
或
someView = [[UIView alloc] init];
[someView retain];
不工作要麼...
什麼我在地球上做錯了嗎?
感謝您的幫助!
感謝湯姆 - 這有一定道理......但是 - 這是不工作... 我用: - (空)makeViewPointer:(UIView的*)MyView的{ \t [self setSomeView:myView]; \t } 但在下一次«someView»調用 - 它再次是空的...? 該死的 – Urs 2010-06-22 19:53:59
你確定這個班級正在被保留嗎? – 2010-06-23 06:43:41