我有一個普遍的問題,我想隱藏從另一個類的按鈕,該類是一個包裝類混合C++代碼和客觀c代碼。我有一個函數說:例如,行動{},該功能將顯示一些按鈕,並隱藏其他一些按鈕取決於輸入。如果我在相同的類中調用該函數,它工作正常。但是,如果我從包裝類調用不按預期工作。設置爲隱藏後隱藏的按鈕不隱藏 - IOS
當一個按鈕點擊我試圖通過調用這樣的函數來改變按鈕的狀態。有效。
main_class.mm
- (IBAction)switchViews:(id)sender
{
[self doaction:5];
}
-(void) doaction:user_id
{
self.email_id.hidden = YES;
}
@interface interface_wrapper : NSObject
{
@public
rootViewController *root_view;
}
-(void) doaction:(long)user_id;
@end
@implementation gui_interface_wrapper
-(void) success:(long) user_id
{
// root_view is set with root controller object. So that I can access main which is having the button.
[root_view.main doaction:user_id];
}
@end 但是,如果我沒有叫那個地方的功能。一個函數調用是由一些包裝類之外的,它有一個指向該對象的指針[我檢查了自己的地址在兩個調用中都是一樣的]按鈕被禁用而不是隱藏。我們可以從包裝類做GUI操作嗎?
有什麼想法?提前致謝。
包裝類的實例和類的實例之間的關係是什麼與按鈕被隱藏? – user523234 2012-07-25 04:44:05
包裝類具有指向具有該按鈕的對象的指針。 – Feroz 2012-07-25 04:58:07
委託模式可能是您需要使用的。一個例子在這裏給出http://stackoverflow.com/questions/9629417/calling-a-method-from-another-class-in-objective-c/10898471#10898471 – user523234 2012-07-25 05:50:26