다른 질문에서 버튼을 숨기고 싶습니다. 그 클래스는 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 작업을 수행 할 수 있습니까?
아이디어가 있으십니까? 미리 감사드립니다.
래퍼 클래스의 인스턴스와 클래스의 인스턴스 사이의 관계는 무엇입니까? 숨겨진 버튼이 있습니까? – user523234
래퍼 클래스에 버튼이있는 객체에 대한 포인터가 있습니다. – Feroz
대리자 패턴이 필요할 것입니다. 여기에 예제가 나와 있습니다. http://stackoverflow.com/questions/9629417/calling-a-method-from-another-class-in-objective-c/10898471#10898471 – user523234