我有一个普遍的问题,我想隐藏另一个类的按钮,该类是一个包装类,用于混合c ++代码和目标c代码。我有一个函数说ex:do action {},该函数会显示一些按钮并隐藏一些其他按钮取决于输入。如果我在同一个类中调用该函数,它工作正常。但是,如果我从包装器类调用没有按预期工作。
当点击按钮时,我尝试通过调用这样的函数来改变按钮的状态。它奏效了。
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操作吗?
有什么想法吗?提前谢谢。
答案 0 :(得分:0)
您是否正在创建该类的另一个对象并调用其方法?它不起作用。
class A
{
object ofA;
}
//Code In same class
A a = init();
a.ofA = some value;
//Code In some other class
A anotherA = init();
anotherA.ofA = some other value;
你抱怨一个人的价值不会改变吗?它不会因为你正在改变另一个而期望反映在...我希望这是你的问题如果不是你应该放一些代码