0

我有一个一般性问题,我想对另一个类隐藏按钮,该类是一个包装类,用于混合 c++ 代码和目标 c 代码。我有一个函数,例如: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 操作吗?

任何想法?提前致谢。

4

1 回答 1

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; 

你在抱怨 a 的价值没有改变吗?这不会因为您正在更改 anotherA 并期望反映在...我希望这是您的问题如果不是,您应该放置一些代码

于 2012-07-25T04:33:50.137 回答