2011-11-26 3 views
0

두 클래스가 있고 다른 클래스에서 사용하려는 한 클래스의 일부 메서드를 선언했습니다. 첫 번째 뷰는 detailview를로드하는 scrollview입니다. 내가 잘못 뭐하는 거지다른 클래스의 IBAction이 작동하지 않습니까?

-(IBAction)save{ 
    DetailViewController *saving = [[DetailViewController alloc] init]; 
    [saving savePic]; 
    [saving release]; 
} 

: 나는 detailview 헤더를 수입하고이 같은 방법을 만든있는 ScrollView에서

-(IBAction)savePic { 
    UIImage *imageView = coverImageView.image; 
    UIImageWriteToSavedPhotosAlbum(imageView, nil, nil, nil); 
    UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"" 
                 message:@"Picture saved to Camera Roll!" 
                delegate:self 
              cancelButtonTitle:@"OK" 
              otherButtonTitles:nil]; 

    timer = [[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(hideAlert:) userInfo:myAlert repeats:NO] retain]; 

    [myAlert show]; 

    [myAlert release]; 
} 

다음은 detailview의 방법 중 하나입니다거야? 나는 지금 작동하도록 만들었지 만 그림을 저장하지는 않는다 ... detailview에서이 메서드를 사용하면 잘 동작한다.

+0

다른 Q와 매우 비슷하다고 생각합니다. 내 대답을보십시오. http://stackoverflow.com/q/7979134/251513 – Mat

답변

0

하나의 클래스에서 다른 클래스로 IBACTION을 호출 할 수 있는지 정확히 알지 못하는데 왜 그런 식으로해야할까요? 메소드를 작성하고 다른 클래스에서 해당 메소드를 호출 할 수없는 이유는 무엇입니까?

IBACTION은 일부 동작 (예 : 버튼)의 속성이므로 VOID, ID 프로세스와 같은 메소드 호출은 쉽습니다. IBACTION이 호출되지 않을 때까지 액션 메시지를 보내야합니다.

+0

IBAction은 void로 정의됩니다. void 메서드를 호출하는 것과 같은 방법으로 IBAction을 호출 할 수 있습니다. – Mat

관련 문제