2012-07-25 6 views
0

다른 질문에서 버튼을 숨기고 싶습니다. 그 클래스는 C++ 코드와 객관적인 C 코드를 혼합하는 래퍼 클래스입니다. 예를 들어 function : {}을 수행 할 함수가 있습니다.이 함수는 일부 버튼을 표시하고 입력에 따라 다른 버튼을 숨 깁니다. 같은 클래스의 함수를 호출하면 잘 작동합니다. 그러나 예상대로 작동하지 않는 래퍼 클래스에서 호출하는 경우.버튼이 숨겨진 상태로 설정되지 않은 상태에서 숨어 있지 않음 - 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 작업을 수행 할 수 있습니까?

아이디어가 있으십니까? 미리 감사드립니다.

+0

래퍼 클래스의 인스턴스와 클래스의 인스턴스 사이의 관계는 무엇입니까? 숨겨진 버튼이 있습니까? – user523234

+0

래퍼 클래스에 버튼이있는 객체에 대한 포인터가 있습니다. – Feroz

+0

대리자 패턴이 필요할 것입니다. 여기에 예제가 나와 있습니다. http://stackoverflow.com/questions/9629417/calling-a-method-from-another-class-in-objective-c/10898471#10898471 – user523234

답변

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; 

값이 변경되지 않는다고 불평하고 있습니까? 당신이 anotherA를 변경하고 있기 때문에 반영되지 않을 것입니다 ... 나는 그것이 당신의 문제라고 희망합니다. 만약 당신이 어떤 코드를 넣어야 만한다면

+0

아니요 그 객체의 포인터를 가지고 있으며 래퍼 클래스에서 사용하고 있습니다. 내 함수에서 self.email_id.hidden = YES; email_id는 숨길 필요가있는 텍스트 필드입니다. 두 통화 모두에서 자기 자신의 주소를 확인하면 두 주소가 모두 동일하다는 것을 알 수 있습니다. 이 이메일 ID를 사용 중지하면 해당 ID를 클릭 할 수 없습니다. 어떤 일이 있지만 명확하지는 않습니다. – Feroz

+0

당신은 그것을 편집하여 질문에 두 계수를 넣을 수 있습니까? –

관련 문제