在view.h我聲明IOS通UIbuton到方法作爲參考
@property (retain, strong) UIButton *btn;
在view.m予先有:
@synthesize btn;
,然後在執行我在這呼叫的方法其他類:
[self.view addSubview:[otherclass getTestBtn:btn]];
這一行後,在我的view.m,我嘗試登錄該文本在這樣的按鈕:
NSLog(@"btn.titleLabel.text = %@", btn.titleLabel.text);
不幸的是,日誌說:
btn.titleLabel.text = (null)
在其他class.m我實現的方法是這樣的:
btn = [[UIButton alloc] initWithFrame:CGRectMake(70, 340, 100, 25)];
[btn setTitle:@"HELLO" forState:UIControlStateNormal];
return btn;
在模擬器我看到按鈕顯示文本「你好」。但從view.m來看,按鈕中的文本似乎無法訪問。爲什麼? 我很害怕從view.m傳遞給其他class.m的按鈕沒有通過引用傳遞。因此view.m中的按鈕不受其他類中的方法的影響。這是原因嗎?如果是:如何通過按鈕作爲參考?我用&字符嘗試過。但編輯顯示錯誤。
更改聲明:'@property(nonatomic,strong)UIButton * btn;' – 2014-09-18 20:04:13
它仍然在調試區域顯示NULL。 – user3355182 2014-09-18 20:11:53
請提供更完整的代碼示例。您現有的示例引用了'btn2',我們可以看到它沒有定義。如果沒有準確的看法,我們無法幫助您。 – Jonah 2014-09-18 20:16:04