문제

나는 응용 프로그램을 사용하는 테이블 보기 컨트롤러를 표시하는 몇 가지 항목을 클릭 후,동아리 내에서 리그전 및 최강전할 수 있는 항목을 선택하는 이메일 항목입니다.일단 일어나는 내가 사용하는 코드에 의해 제공되는 애플"MailComposer",그리고 메일을 보내주십시오.그러나 이 후크에서는 테이블 보기지 않으로 매끄러운 전하고 있습니다.

나는 선택된"유출"가 없는 누수 나의 코드가 있지만,큰 거래의 객체를 할당할 때 모달 보기 컨트롤러 MFMailComposeViewController 때,그리고 나는 해 콘트롤러,모든 객체를 할당은 여전히 존재한다.할 수 있는 방법을 제거하는 모든 객체를 할당?.어떤 도움이 될 것입니다 크게 감사합니다.감사합니다.

-오스카

업데이트:

를 실현하고 있는 지연만이 발생하면 당신은 클릭하기:textfield 에 MFMailComposeViewController 고 뭔가를 입력하면,뭔가를 입력 있는 메모리 누수 및 응용 프로그램이 될 것입니다 부진하다.이 정확히 같은 것은 또한에서 발생하는 애플의 메일을 작곡가입니다.나는 시뮬레이터를 사용하여 어쩌면 이런 이유?.는 다른 사람이 다시 감사 너무 좋 경험이 있는가?

The way I am pressenting 콘트롤러입니다:

-(void)displayComposerSheet 
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    NSString *mailSubject = appDelegate.mailTitle;
    NSString *mailBody = appDelegate.mailLink;

    NSString *formattedString = [NSString stringWithFormat:@"<a href='%@'>%@</a>", mailBody, mailBody];

    [picker setSubject:mailSubject];

    // Set up recipients
    //NSArray *toRecipients = [NSArray arrayWithObject:@"somemail@hotmail.com"]; 
    //NSArray *ccRecipients = [NSArray arrayWithObjects:@"second@example.com", @"third@example.com", nil]; 
    //NSArray *bccRecipients = [NSArray arrayWithObject:@"fourth@example.com"]; 

    //[picker setToRecipients:toRecipients];
    //[picker setCcRecipients:ccRecipients];    
    //[picker setBccRecipients:bccRecipients];

    // Attach an image to the email (Warning this causes a memory leak aknowledged by Apple)
    //NSString *path = [[NSBundle mainBundle] pathForResource:@"news_icon" ofType:@"png"];
    //NSData *myData = [NSData dataWithContentsOfFile:path];
    //[picker addAttachmentData:myData mimeType:@"image/png" fileName:@"rainy"];

    // Fill out the email body text
    [picker setMessageBody:formattedString isHTML:YES];

    [self presentModalViewController:picker animated:YES];
    [picker release];
}

고 dimissing 여기:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{   
    ....
    [self dismissModalViewControllerAnimated:YES];
}
도움이 되었습니까?

해결책

그것이 알려지 메모리 누수 MFMailComposeViewController 클래스(iOS4.2SDK).누출할 수 있도에서 보 MailComposer 샘플 프로젝트에 의해 애플입니다.을 실행하려고 하와 응용 프로그램 할당을 계기와 주는 전반적인 성장하는 바이트까지 매번 당신은 취소를 클릭하고 표시 작곡가 다시합니다.

아래를 참조하십시오와 유사한 토론:

  1. http://discussions.apple.com/thread.jspa?threadID=2158170

  2. https://devforums.apple.com/thread/23510?tstart=15

  3. https://devforums.apple.com/message/121093#121093

다른 팁

사용할 수 있는지 확인

controller.mailComposeDelegate = self;

controller.delegate = self;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top